You provided ‘undefined‘ where a stream was expected. You can provide an Observable,...报错解决

调接口时,我做了一个状态判断,如果后端返回的指定状态码不是我想要的,就返回提示信息并退出整个方法:

queryMaterial = () => {
    .......
    let loader = this.commonProvider.showLoading('');   // 页面加载状态
   this.stockProvider.getPurchaseBarcode(this.barcodeObj[this.BarcodeTypeEnum.Material].barCode,
      StockManageNs.QueryMaterialType.StockIn).pipe(mergeMap((resData: StockManageNs.ResModelT<any>) => {
        .......
        if (resData.value[0].barcodeFlag == '1') {
          this.commonProvider.showToast('该物料档案和入库单条码管理模式不一致,请修改后重新入库');
          loader.dismiss();   // 退出加载状态,返回
          return;
        }
    });

}

这里我直接用return;想要退出整个方法,结果报错:

You provided 'undefined' where a stream was expected. You can provide an Observable,Promise,Array,or Iterable.

说明我们的接口需要一个返回,直接return是不行的,改成下面这样就可以了:

return Observable.throw('');

猜你喜欢

转载自blog.csdn.net/qq_36451496/article/details/108750062
今日推荐