调接口时,我做了一个状态判断,如果后端返回的指定状态码不是我想要的,就返回提示信息并退出整个方法:
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('');