У меня есть 2 простых метода:
function do(x,y){
if(x){
XHR1().success();
}
if(y){
XHR2().success();
}
}
function done(){
return something;
}
теперь я просто хочу быть уверенным, что вызову done()
, когда do()
завершится (**метод do() содержит асинхронные запросы к базе данных Mysql)
как я могу этого добиться?**
Очевидно, что это не поставит такие методы в последовательность:
do(x=1,y=1);
done(); //this can run also if do() has not finished yet
Итак, я попытался:
function do(x,y,_callback){
if(x){
XHR1().success();
}
if(y){
XHR2().success();
}
_callback();
}
function done(){
return something;
}
do(x=1,y=1,done()); // this won't work the same cause callback is not dependent by XHR response
это то, что я использую для промисов https://github.com/tildeio/rsvp.js/#arrays-of-promises