ある場合、私は、この叙事詩を持っている:リターン異なる観察可能なペイロード長は、<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))
)
})
私はaction.payload.products.length
がそうでなければ、警告を表示し、0よりも大きい場合にのみ
updateSearchResults(action.payload),
toggleMenu(),
updateRegion(action.payload)
を返すようにしたいと思います。
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
場合で、観察を返します。
タイプミス:
Observable.of
はエラーをスローすることはありませんので、サイドポイントとして、あなたの
catch
は現在、余分なのですか?あなたは 'length'をテストしていません。 'action.payload.products.length> 0'ではありませんか? – cartant@cartantあなたが正しいです。今すぐ変更しました。おかげで – BeniaminoBaggins