Angular 5异步等待未按预期等待

时间:2019-05-07 20:22:34

标签: angular asynchronous async-await

我需要在Angular 5中创建一个“同步” http调用。给出以下代码段:

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)在异步等待呼叫之前 2)getJwtToken完成:“在这里结果” 3)在异步等待呼叫之前

但是我得到的命令是:

1)在异步等待呼叫之前 3)在异步等待呼叫之前 2)getJwtToken完成:“在这里结果”

对于为什么代码在继续之前不等待http调用完成,我有点茫然。这是我第一次尝试在Angular中使用async-await,因此,如果有人对可能丢失的内容有任何想法,将不胜感激。

1 个答案:

答案 0 :(得分:0)

Lexith添加的评论有帮助:-)