4

前の関数がタスクを完了したときにのみ、次々に実行したい関数が 3 つあります。これには When Promise ライブラリを使用します。

function taskA(){
    var d = when.defer();
    d.resolve();
    return d.promise;
}
function taskB(){
    var d = when.defer();
    d.resolve();
    return d.promise;
}
function taskC(){
    var d = when.defer();
    d.resolve();
    return d.promise;
}

taskA().then(function(){
    taskB().then(function(){
        taskC().then(function(){
}); }); });

これが本来あるべき姿ですか?私は約束を使用してコールバックとその「破滅のピラミッド」を簡単に回避できるという印象を受けましたか、それとも間違って使用していますか?

4

1 に答える 1

4

どうですか

taskA()
   .then(taskB)
   .then(taskC)
   .then(function(){});
于 2014-04-08T18:00:04.123 に答える