rxjs - 在 Redux Observable 中完成所有操作后调度一个操作
问题描述
您能否给我一个建议,如何等待多个 Redux 分派然后执行一些操作?常见的场景是应用程序的初始化(例如,等待 FETCH_SOMETHING_SUCCESS 和 FETCH_ELSE_SUCCESS 然后调度 APP_INIT_SUCCESS)。
就像是...
export const appInitSuccessEpic = (action$) =>
action$.pipe(
whenAllDispatched('FETCH_ONE', 'FETCH_SECOND'),
map(() => { type: 'APP_INIT_SUCCESS' })
)
谢谢 :)
解决方案
您可以使用zip运算符。
在所有可观察对象发出后,将值作为数组发出
import { ofType } from 'redux-observable';
export const appInitSuccessEpic = (action$) =>
zip(
action$.pipe(ofType("FETCH_THIS_SUCCESS")),
action$.pipe(ofType("FETCH_ELSE_SUCCESS"))
)
.pipe(mapTo({ type: 'APP_INIT_SUCCESS' }))
推荐阅读
- python - 如何在字典中的列表值中附加值
- angular - Jasmine:单元测试监视调用嵌套函数
- influxdb - Telegraf `docker_log` 不发送所有消息
- api - 有没有办法从 Google Directions API 获取基本方向(北、西、东等)?
- python - Python通过键和值订购字典
- vue.js - 当使用Vue单击其中的复选框时,将类“Show”添加到“btn-group”
- flutter - 我需要在屏幕右侧设置横幅广告位置
- react-native - 如何解决expo的“NewAppScreen”问题(React native)
- html - 如何使用媒体查询更改 div 的位置
- node.js - 如何使用履行对具有相同意图的不同平台做出不同的响应