1)下面的代码接受X和Y,并调用一些服务并将值推送到obeservable
2)当我们给出invaild输入即X,Y时它必须给出空结果并且obeservable必须是空的并且我必须为invaild输入发出一些警报
3)所以我如何在这里检查这个条件?
我试过isEmpty功能,它不起作用请帮帮我吗?
const gridDataLoadRequest = GridDataLoadRequest
.withLatestFrom(filterParams)
.map(_.last);
return gridDataLoadRequest
.map(partitionedCodesToSearchParams)
.flatMap((vals) => {
let [ X, Y ] = vals;
let A = _.isEmpty(X.codes)
? Observable.of([])
: storePlanningService.searchCustomerChoices(X);
let B = _.isEmpty(Y.codes)
? Observable.of([])
: storePlanningService.searchCustomerChoices(Y);
return Observable.zip(A, B).map(_.flatten);
})
.publishReplay(1)
.refCount();
};
答案 0 :(得分:0)
如果您从RxJS中的任何回调中抛出异常,它将被捕获并作为错误通知发送。
这意味着您可以使用catch()
返回一个空的Observable:
.flatMap((vals) => {
...
throw Error("It's broken");
})
.catch(err => {
console.log(err);
return Observable.empty();
})
...