var promise = $.Deferred().resolve().promise(); for (var i = 0; i < 5; i++) { promise = promise.then(function() { var d = $.Deferred(); (function() { var num = i; setTimeout(function() { console.log(num); d.resolve(); }, 1000); })(); return d.promise(); }); }
上記のコードを実行すると、
0 5 5 5 5
という結果になるのですが、この理由がわかりません。。
ほしい結果は
0 1 2 3 4
です。
原因と改善方法を教えて下さい。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/14 17:48
2016/04/14 17:57
2016/04/14 18:03