в ожидании синхронной функции, чтобы закончить - PullRequest
0 голосов
/ 08 июля 2019

Допустим, у меня есть функция, которая возвращает обещание, functionThatReturnsPromise, и я использую эту функцию в обычной функции, normalFunction.

normalFunction() {
    functionThatReturnsPromise().then(() => do something,);
}

Я знаю, что могу ждать functionThatReturnsPromise внутри normalFunction, используя functionThatReturnsPromise().then(...), но что, если я хочу, чтобы normalFunction закончил, когда я использую свой normalFunction в другом месте?

anotherNormalFunction() {
    normalFunction() // here i want this function to finish before proceeding 
                     // to the next line
}

Я пробовал normalFunction().then(...) и await normalFunction(), но, похоже, они не работают.Возможно ли это?

1 Ответ

1 голос
/ 08 июля 2019

normalFunction завершится до выполнения следующей строки.

Это просто normalFunction ничего не делает, кроме триггера асинхронной функции.

Если вы хотите дождаться завершения асинхронной функции, прежде чем продолжить, вам нужно изменить normalFunction, чтобы он возвращал обещание, которое не разрешается до тех пор, пока эта асинхронная функция не будет разрешена.

например. обещание, возвращаемое этой асинхронной функцией.

normalFunction() {
    return functionThatReturnsPromise().then(() => do something,);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...