私はXMLHttpRequestというコードを持っています。サーバーにリクエストを送信するオブジェクトです。非同期なので、レスポンスを受け取るには、このオブジェクトのonreadystatechange
プロパティにコールバック関数を提供する必要があります。非同期関数を通常のように動作させる方法は?
function send()
{
XMLHttpRequest req = new...
req.onreadystatechange = answer;
}
function answer()
{
//handling the answer...
}
をだから、素晴らしいことだが、私は匿名それを行うように答える処理するための新しい機能を使用しない:この機能は、応答が受信された後に呼び出され
function send()
{
XMLHttpRequest req = new...
req.onreadystatechange = function()
{
//handling the answer...
};
}
をしかし、今私が欲しいですたとえば、結果を表示するためにsend関数の結果を別の関数で使用する場合:
display(send())
このようにするにはどうすればいいですか?次のようなものがあります:
function send()
{
XMLHttpRequest req = new...
req.onreadystatechange = function()
{
//handling the answer...
return result; //where result is returned by send function
};
}
このコードは応答を処理する間に他のJSコードが動作するようにこれを行う方法はありますか?
[同期XmlHttpRequestのをシミュレート]の可能な重複(http://stackoverflow.com/questions/1809931/simulating-a-synchronous -xmlhttprequest) –
+ Andrew Marshall同じではありません。 –