Без обещаний, без асинхронных операций и т. Д. Я задавался вопросом, является ли этот шаблон приемлемым - моя функция вызывается, и мне передается обратный вызов.Мне нужно сделать 2 вещи, прежде чем я смогу перезвонить:
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, или каждыйВызов получить свою собственную переменную области видимости?