今私はちょっと混乱しています。私はsuccesscallbackを渡している次の非同期Ajax呼び出しを持っています。
ajax('PUT', 'some URL', successCallback, data);
私は、要求がので、私はそれが完了するの呼び出しを待っている場合、この呼び出しは非同期であるかを理解するために失敗完了すると、このコールバックが呼び出されることを確認します。
私はアヤックスにsuccesscallbackを渡し、関数からコールバックを返さない場合は上記の変更に伴い
ajax('PUT', 'some URL', undefined, data);
return successcallback();
を予想通り、私は非同期動作を観察することができ、私は実際には非同期で実行するAJAX呼び出しを観察し、自分のページには進むことができますページが他のリンクにリダイレクトされた場合、リクエストはキャンセルされます。だから、動作する唯一のオプションは、ajaxのsuccesCallbackを渡していますが、非同期ではなく同期しているようです。
Ajax呼び出しの後のコードが実行されるため....あなたが記述する内容は同期です。 – epascarello
私はあなたが非同期であると誤解していると思います。 'successCallback'は要求が完了したときに呼び出されますが、*あなたは要求が完了することを約束していません。さらに、残りのコードは引き続き実行され、 'successCallback'が実行されるのを待ってブロックされません。 –