我有嵌套的承诺,其中一个函数调用另一个函数并且都返回承诺。函数b
正在调用函数a
,当函数的承诺a
完成时,函数会b
解析自己的延迟并传递结果a
和自己的结果。
function a(){
var d = $.Deferred();
makeSomeAsyncCall(function(){
d.resolve('a')
})
return d.promise();
}
function b(){
var d = $.Deferred();
a= a()
a.done(function(a){d.resolve(a, 'b')})
.fail(function(a){d.reject(a, 'b')})
return d.promise();
}
b().done(function(a, b){console.log(a, b)})
.fail(function(a, b){console.log(a, b)})
我想知道是否有办法在不创建延迟函数的情况下解决这个问题b