非同期関数は出現順に起動しますが、終了した順に戻ります。text
これらの単純なメソッドがオブジェクトでremoveClass
実行しているものよりもゆっくりと戻るのは奇妙なことですが、それは可能だと思います。Server
の前に最初の2行を表示する必要がある場合はpostService
、jQueryを試してみてくださいdeferred.promise
。これは、可能性を示すフィドルと、検査するコードです。
function firstThing (){
var dfd = new jQuery.Deferred();
$('#import').text("Importing...");
$('#import img').removeClass("hidden");
dfd.resolve();
}
$.when( firstThing() ).then(
function() {
Server.postService("tests", row_datas, function(data) {
// some stuff here
});
}
)
ちなみに、コードのロジックには、のを設定することで問題があります。text
クラスがあった#import
ものはすべて存在しなくなりますが、それは重要ではない可能性があります。img
hidden
アップデート
ajaxの使用について尋ねる私のコメントに対するあなたの応答に気づいたら、async
オプションについて読んで、あなたがしていることがイベントをブロックしているかもしれないし、していないかもしれないことを確認することをお勧めします。
また、 jQuery ajaxコールバック、特にerror
、、、success
およびcomplete
(現在、jQuery 1.8 + 、、、、fail
およびdone
)について読むことをお勧めしますalways
。