Как да се обадите на една функция a()
след друга функция b()
кога b()
съдържа функция за асинхронизация c()
?
A() {
}
B() {
//do sometihng
c(); //async function
//do something
}
Искам да се обадя A()
ако B()
включително c()
се изпълнява. Но не мога да променя функцията B ().
Отговори:
2 за отговор № 1async function b(){
await c();
}
function a(){}
(async function(){
await b();
a();
})()
правете b await c, тогава можете да чакате b и да изпълните a. друг начин би бил:
function b(){
return c();
}
b().then(a);
0 за отговор № 2
ключовата дума await
е това, което търсите.
от https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await : Ако дадено обещание бъде предадено на изчакване, той чака разделителната способност на обещанието и връща възстановената стойност.
async function c() {
await b();
a();
}