我调用的第三方js, 其中有多个执行promise的方法, 如下:
function init(){
a();
b();
c();
//下面还有一部分的同步代码
....
...
}
function a(){
var q = [x,y]; //这里多个promise
Promise.all(q).then(function(arr){
.....
});
}
function b(){
var q = [m,n]; //这里多个promise
Promise.all(q).then(function(arr){
.....
});
}
function c(){
var q = [j,k]; //这里多个promise
Promise.all(q).then(function(arr){
.....
});
}
我的调用函数:
function call(){
init();
//如果确定init里的promise全部执行完毕, 再执行后面的代码
......
}
我的困惑是, 以上第三方的代码我不能修改, call()函数里如何确保init内部所有promise都执行完毕了, 请大牛赐教, 不胜感激.
不能,除非他
a/b/c
函数中return Promise.all
,否则你在init
什么都干不了。