回调金字塔即使与当承诺

Callback pyramid even with When Promise

本文关键字:承诺 金字塔 回调      更新时间:2023-09-26

我有 3 个函数,我想一个接一个地执行,只有当前一个函数完成其任务时。我为此使用当承诺库,

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(){
}); }); });

这是应该的吗?我的印象是我可以很容易地避免回调及其使用承诺的"厄运金字塔",还是我用错了?

怎么样

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