このコードに問題があります。関数が動作しているときに赤い背景を表示しようとしていますが、(そのときだけ) 背景を緑に変更しています。
次のアラートがコメントされていない場合、しばらく赤い背景が表示され、その後緑が表示されます (これが私の望みです)。
しかし、そのアラートにコメントすると、赤い背景が設定されていないようで、processData が終了すると、背景は正しく緑に設定されます。
誰かこの謎を解いてくれませんか? ありがとう!
function beforeProcess(params){
$('#result').css('background','red');
alert('now i start waiting, while background is red');
$.when(processData(params)).done(
$('#result').css('background','green')
);
}
function process(params){
//This function takes some time, and it makes (indirectly) some synchronous ajax calls (async:false)
}