Как дождаться процесса async / await до получения результата? - PullRequest
0 голосов
/ 06 августа 2020

У меня есть процесс asyn c / await, как показано ниже

async function getFirebaseToken() {
   firebase_token = await iid().getToken();
}

, так как это операция asyn c. Мы не можем сказать, когда этот процесс будет завершен. Я не хочу переходить к следующему шагу, пока не получу firebase_token. Для этого я прошел через это решение . Но у меня это не сработало.

Любые предложения о том, как подождать, пока процесс async / await не получит результат?

1 Ответ

1 голос
/ 06 августа 2020

вызывающую функцию нужно будет либо вызывать с помощью asyn c функции с await, либо использовать .then в «верхней части» вызывающих функций

, например, если вы выбираете token при нажатии

const handleClick = () => {
 //async functions return a promise. Handle the end-of-line here
 getFirebaseToken()
   .then(token => { //do something with the token})
   .catch(error => {//handle the error})
}

функция asyn c возвращает обещание, которое обрабатывается кнопкой onClick. возвращаемое значение будет доступно как «токен» в указанном выше обработчике обещаний

async function getFirebaseToken() {
   firebase_token = await iid().getToken();
    //this will be available in the .then function, as token
   return token; 
}
...