Angular 5 async-await не ждет, как ожидалось - PullRequest
0 голосов
/ 07 мая 2019

Мне нужно создать «синхронный» вызов http в Angular 5. Учитывая следующие фрагменты кода:

console.log("1) Before async-await call");
this.setJwtToken();
console.log("3) After async-await call");

и

async setJwtToken(): Promise<any>  {
    var result = await this.http.get<any>(URL,{}).toPromise();
    console.log("2) getJwtToken complete: ", result);
    return result;
}

Я ожидаю, что мой консольный журналсообщения для печати выглядят следующим образом:

1) Перед вызовом async-await 2) Выполнение getJwtToken: «результат здесь» 3) Перед вызовом async-await

Но порядок, который я получаю:

1) Перед вызовом async-await 3) Перед вызовом async-await 2) Выполните getJwtToken: «результат здесь»

Я немного растерялся, почему код неожидание завершения http-вызова, прежде чем продолжить.Это моя первая попытка использовать async-await в Angular, поэтому, если у кого-то есть идеи по поводу того, что может отсутствовать, это будет приветствоваться.

1 Ответ

0 голосов
/ 16 мая 2019

Комментарий, добавленный Lexith, помог: -)

...