JSDeferredのloopをネストさせて爆死した日記

こう書いて悲しいことになった。

Deferred.loop(3, function(i){
    Deferred.loop(3, function(j){
        console.log(i + "-" + j);
    });
}).next(function(){
    console.log("finished");
});

出力:

0-0
0-1
1-0
finished
0-2
1-1
2-0
1-2
2-1
2-2

正解はこう、なのかな?

Deferred.loop(3, function(i){
    return Deferred.loop(3, function(j){
        console.log(i + "-" + j);
    });
}).next(function(){
    console.log("finished");
});