【问题标题】:Angular 5 async-await not waiting as expectedAngular 5 async-await 未按预期等待
【发布时间】:2019-09-25 13:14:51
【问题描述】:

我需要在 Angular 5 中创建一个“同步”http 调用。鉴于以下代码 sn-ps:

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 调用完成后再继续。这是我第一次尝试在 Angular 中使用 async-await,所以如果有人对可能缺少的内容有任何想法,将不胜感激。

【问题讨论】:

  • await this.setJwtToken(); 将为您提供预期的输出。

标签: angular asynchronous async-await


【解决方案1】:

comment added by Lexith 帮助了 :-)

await this.setJwtToken(); 将为您提供预期的输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2021-12-11
    • 2016-03-08
    • 2018-07-09
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    相关资源
    最近更新 更多