Javascript 回访金字塔,即使有承诺
我有3个函数,我想一个接一个地执行,只有当前一个函数完成它的任务时。我用的是When Promise libraryJavascript 回访金字塔,即使有承诺,javascript,node.js,callback,promise,when-js,Javascript,Node.js,Callback,Promise,When Js,我有3个函数,我想一个接一个地执行,只有当前一个函数完成它的任务时。我用的是When Promise library function taskA(){ var d = when.defer(); d.resolve(); return d.promise; } function taskB(){ var d = when.defer(); d.resolve(); return d.promise; } function taskC(){
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(){});
这是因为承诺是敞开的。当您从
处理程序返回承诺时,
处理程序将等待该承诺得到解决,然后再执行下一个承诺。