如何在具有可观察

时间:2017-12-11 05:38:41

标签: javascript angular rxjs

我有callPhantom来渲染pdf的功能,我需要等到所有组件加载。 这是功能:

 this.http.get<[any]>("api/funds").subscribe(async funds => {
          for (let i = 0; i < funds.length; i++) {
            this.fund = funds[i];
            // here i need to wait until onChartLoad fired.
            await new Promise(resolve => setTimeout(() => resolve(), 4000));
            await (<any>window).callPhantom({ id: this.fund.fileName });
          }
          await (<any>window).callPhantom();
        })

我有完成加载图表后触发的函数'onChartLoad'。 我需要继续循环打印所有资金, 那么适合我的哪种类型的观察?

我尝试使用Subject,并将其投射到承诺:

await this.renderObservable.take(1).toPromise();

然后它只等一次。

添加

 this.renderObservable = new Subject();

之后解决了我的问题,但我认为这不是最好的方法。

0 个答案:

没有答案