
処理の順番を決めよう
問題
今回は処理の順番を意図的に決めていきたいと思います。今までは上から下へ処理が行われていたと思いますが、下のコードをjqueryにコピペしてコンソールをみてもらうとわかると思うのですが、このように処理に時間がかかってしまう場合、先に下のものが実行されてしまいます。今回の課題は処理1から処理5を順番に実行される(処理が完了される)ようにしましょう。
自分の環境に書くコード
$(function () {
console.log("処理1");
console.log("処理2");
setTimeout(function(){
console.log("処理3");
}, 300);
console.log("処理4");
console.log("処理5");
});
¥JavaScript¥
期待する画面

解答ソースコード
$(function () {
d=$.Deferred();
console.log("処理1");
console.log("処理2");
setTimeout(function(){
console.log("処理3");
d.resolve();
}, 300);
d.promise().then(function(){
console.log("処理4");
console.log("処理5");
});
});
¥JavaScript¥
完了にする!
解説