角度异步?

时间:2019-04-18 15:48:58

标签: angular typescript http async-await

我在项目中使用Angular 6,问题如下所示:

getPersonData() : personData {
  this.user = {
     username : getUsername()
  }
  console.log('Inside getPersonData() method');
}

getUsername(){
 var username;
 this.http.post('apiname', data).subcrible( res =>{
     username = res.username;
  });
   console.log('Inside getUserName() ');
   return username;
}

当卷入getPersonData(enter code here)时,我得到了: “在getPesonData()方法内部” '内部getUsername()'

我不知道这是如何工作的?

1 个答案:

答案 0 :(得分:-3)

async / await是Promise的ES7语法。它与框架无关。由于Angular将rxjs用于http客户端,因此不能对Observable使用async / await。当然,您可以使用toPromise()Observable转换为Promise。在使用Angular http的情况下,它可以很好地工作,但在其他情况下,除非您知道自己在做什么,否则将Observable转换为Promise是一个坏主意。