|
|
|
@ -13,20 +13,21 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// make sure the second promise resolve before the first one
|
|
|
|
// make sure the second promise resolve before the first one
|
|
|
|
if(resolver){
|
|
|
|
if (resolver){
|
|
|
|
new Promise(r => {
|
|
|
|
new Promise(r => {
|
|
|
|
setTimeout(r);
|
|
|
|
setTimeout(r);
|
|
|
|
}).then(update_and_resolve).then(()=>{
|
|
|
|
}).then(update_and_resolve).then(() => {
|
|
|
|
setTimeout(()=>{
|
|
|
|
setTimeout(() => {
|
|
|
|
resolver();
|
|
|
|
resolver();
|
|
|
|
resolver = null;
|
|
|
|
resolver = null;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}else if(v){
|
|
|
|
} else if (v) {
|
|
|
|
resolver = update_and_resolve;
|
|
|
|
resolver = update_and_resolve;
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
Promise.resolve().then(update_and_resolve);
|
|
|
|
Promise.resolve().then(update_and_resolve);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return r.promise;
|
|
|
|
return r.promise;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|