我有这样的史诗:返回不同可观察到的,如果有效载荷长度为<1
export const fetchProductsFulfilledEpic = action$ =>
action$.ofType(FETCH_PRODUCTS_FULFILLED)
.mergeMap(action => {
return Observable.of(
updateSearchResults(action.payload),
toggleMenu(),
updateRegion(action.payload)
).catch(error => Observable.of(
fetchProductsRejected(error))
)
})
我想只返回
updateSearchResults(action.payload),
toggleMenu(),
updateRegion(action.payload)
如果action.payload.products.length
大于0,否则,显示警报。
Attmept:
export const fetchProductsFulfilledEpic = action$ =>
action$.ofType(FETCH_PRODUCTS_FULFILLED)
.mergeMap(action => {
Observable.if(() => action.payload.products.length > 0,
Observable.of(
updateSearchResults(action.payload),
toggleMenu(),
updateRegion(action.payload)
), Observable.of(...enter alert observable here...)
).catch(error => Observable.of(
fetchProductsRejected(error))
)
})
收到错误:
You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
如何退还上述Observable.of
,并返回一个可观察与showAlertDialog
如果action.payload.products.length < 1
。
错字?你没有测试'长度'。它不应该是'action.payload.products.length> 0'吗? – cartant
@cartant你说得对。现在改变了。谢谢 – BeniaminoBaggins