Угловые rxjs требуют параллельного и последовательного

Elvio Cavalcante спросил: 03 февраля 2018 в 11:25 в: rxjs

Мне нужно выполнить параллельные запросы, и после того, как все эти запросы будут выполнены, мне нужно выполнить еще один вызов.

public loadAppData() {
  // get current Data
  let currentData: any = this.sourceAppData.getValue();  // load userInfo
  return this.storage.get('userInfo').then((userInfo) => {
    this.userInfo = userInfo;    // call endpoints
    let products = this.loadProducts();
    let customers = this.loadCustomers();
    let priceRules = this.loadPriceRules();
    let shop = this.loadShop();    // load in parallel
    return forkJoin([products, customers, priceRules, shop]).subscribe(results => {
      let currentData: any = this.sourceAppData.getValue();
      currentData.products = results[0];
      currentData.customers = results[1];
      currentData.priceRules = results[2];
      currentData.shop = results[3][0];
      this.updateAppData(currentData);
    });
    // I need one more request here
  });
}

После ForkJoin мне нужно сделать еще один звонок, потому что у меня есть информация в одном из тех звонков, на которые я полагаюсь. Проблема в том, что я уже подписался на вызов.

Как я могу выполнить forkJoin, получить результаты соединения fork, сделать еще один запрос и сделать его регулярным потоком (например, подписаться на она).

0 ответов