在解决从c
返回的承诺之前是否调用了函数b
?
function a() {
var d = $q.defer();
setTimeout(function() { d.resolve(); }, 10000);
return d.promise;
}
function b() {
var d = $q.defer();
setTimeout(function() { d.resolve(); }, 10000);
return d.promise;
}
function c() {
var d = $q.defer();
setTimeout(function() { d.resolve(); }, 10000);
return d.promise;
}
a().then(b).then(c);
答案 0 :(得分:2)
简单否定必须首先解决承诺b以执行c。
答案 1 :(得分:0)
没有。如果提供给Promise.then
的函数(返回承诺A
)返回Promise
(承诺B
),则A
等待B
成为{{1}}在解决之前解决了。 (See documentation.)