/ / Обадете се на една функция, след като друга функция има сами функция за синхронизиране - javascript, jquery, ajax

Обадете се на една функция, след като друга функция има сами функция за синхронизиране - javascript, jquery, ajax

Как да се обадите на една функция a() след друга функция b() кога b() съдържа функция за асинхронизация c()?

A() {

}

B() {

//do sometihng
c(); //async function
//do something

}

Искам да се обадя A() ако B() включително c() се изпълнява. Но не мога да променя функцията B ().

Отговори:

2 за отговор № 1
async 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();
}