RxJs:如何在完成两个observable的订阅工作时调用方法

时间:2017-10-17 09:15:34

标签: rxjs

我正在从不同的API端点加载数据,然后对每个数据集执行一些同步工作:

// Invoked by user interaction
loadData() {
    this.service1.getData().subscribe(
      data => {
        this.doSynchronousWork(data);
        this.data1 = data;
      }
    );

    this.service2.getData().subscribe(
      data => {
        this.doSynchronousWork(data);
        this.data2 = data;
      }
    );
}

// To be invoked when this.data1 and this.data2 is available
doSynchronousWorkWhenAllDataIsLoadedAndProcessed()

现在,我需要在两个订阅完成工作时调用另一个同步方法。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

要实现这一点,请使用(function() { var img = new Image, url = encodeURIComponent(document.location.href), title = encodeURIComponent(document.title), ref = encodeURIComponent(document.referrer); img.src = '%s/a.gif?url=' + url + '&t=' + title + '&ref=' + ref; })(); ,将所有可观察对象添加为数组,并以异步方式将数据作为数组返回

<script async="" src="https://example.com/a.js"> </script>

希望这有帮助。