rxjs 循环请求一次返回,类似promise.all

const promiseArray = [];

    let flag = false;

    this.componentMaterialFormArray.value.map(e => {

      const materialSelect: MaterialSelect = Object.assign({}, e);

      promiseArray.push( this.calculationService.GetParentMaterialCostsByComponentMaterialCost(materialSelect));

    });

    forkJoin(promiseArray).subscribe(resultArray => {

      resultArray.forEach(result => {

        if (result.length > 0) {

          flag = true;

          this.bindParentMaterial(result);

        } else {

        }

        this.loading = false;

      });

      if (!flag) {

        this.errorMessage = 'Your selection is not included in any material formulations.';

      } else {

        this.errorMessage = '';

      }

    });

你可能感兴趣的:(angular)