我需要在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,因此,如果有人对可能丢失的内容有任何想法,将不胜感激。
答案 0 :(得分:0)
Lexith添加的评论有帮助:-)