我有一个MainService
,它调用default
方法,该方法返回一个promise
。
default: (function() {
var d = $q.all([
service1.get(onFirstSuccess),
service2.ret(onSecondSuccess)
]);
function onFirstSuccess(){}
function onSecondSuccess(){}
});
我正在从另一个服务
调用此默认
方法。
MainService.default().then(function(){
console.log("this is getting called before onSecondSuccess");
});
问题是在 $q.all
完成之前,then
函数在这里被触发。
最佳答案
default: (function() {
var d = $q.all([
service1.get(onFirstSuccess),
service2.ret(onSecondSuccess)
]);
function onFirstSuccess(){}
function onSecondSuccess(){}
return d;
});
也许你应该在默认函数中返回d
关于javascript - $q.all 然后在解决 promise 之前被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38127401/