如何在函数返回之前暂停函数?

时间:2016-08-08 19:51:09

标签: angular

在我的服务中,我使用http获取一些数据,然后将其作为承诺返回。

我有这样的功能

onClick(ID:number){
  this.myService.getSomeData(ID).then(response => this.myObject=response);
  //do something with myObject
}

但是,我需要等待服务返回数据才能继续。我无法提前调用该服务,因为它取决于用户单击的选项。

我以为我可以把它包裹在setTimeout

onClick(ID:number){
  setTimeout(() => {
    this.myService.getSomeData(ID).then(response => this.myObject=response);
  }, 1000);
  //do something with myObject
}

但是一秒钟只是一个猜测,我可能会浪费时间或没有足够的时间。有没有办法暂停此功能,直到该服务返回信息,理想情况下,大约五秒后会超时(如果发生这种情况,让它执行我的处理代码)?在此期间,用户不应该做任何事情。

0 个答案:

没有答案