没有承诺,没有异步等 我想知道这种模式是否可以接受 - 我的函数被调用并且我被传递回调。我需要做两件事才能回拨:
function doSomething(..args.., callbackThatNeeds1And2DoneFirst){
var done1 = false;
var res1 = someAsync1(function call1callback(){
//blah
done1 = true;
maybeComplete();
});
var done2 = false;
var res2 = someAsync2(function call2callback(){
//blah
done2 = true;
maybeComplete();
});
function maybeComplete(){
if(done1 && done2){
callbackThatNeeds1And2DoneFirst();
}
}
}
我想问题是关于变量作用域的 - 多个"并发"执行是否会干扰彼此的 done1 和 done2 值,或者每个调用都有自己的变量作用域?
是的,这种模式很好。它基本上做了Promise.all
今天所做的,除了它只适用于两个异步回调而不是可变量。
多个"并发"执行是否会干扰彼此的
done1
和done2
值,或者每个调用都有自己的变量作用域?
每次调用doSomething
都会创建一个具有新done1
和done2
变量的新作用域。