如何等待函数执行直到订阅完成?

时间:2019-03-21 14:37:56

标签: javascript observable

我想订阅一个Observable,然后执行另一个功能。我的问题是,直到请求完成需要一些时间。但是,该代码只是在订阅开始后 立即继续执行。

在订阅完成之后,我需要一些信息。没有这些数据,transformShopList()将失败。当我运行代码时,会发生这种情况。

如何等待订阅完成,然后继续其余的语句?

this.observable3.subscribe(
  ...
);
// wait here?
this.transformShopList();

2 个答案:

答案 0 :(得分:0)

无论您使用Java脚本做什么,都会遇到此问题。异步任务必须链接。使用guid_holderPromise或回调函数。

正确的代码是

Observable

答案 1 :(得分:0)

一个可观察对象发出一个事件,而您的订阅将接收该事件。将您的转换商店列表移到订阅响应中,它将在观察到的消息发出时执行。

https://angular.io/guide/observables