首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redux saga - join和all效果之间的差异

问Redux saga - join和all效果之间的差异
EN

Stack Overflow用户
提问于 2021-08-29 20:58:21
回答 1查看 67关注 0票数 0

在Redux Saga中,join和all有什么不同?

代码语言:javascript
复制
function* fetchUserData(userId) {
  const postsTask = yield fork(fetchAlbums, userId)
  const albumsTask = yield fork(fetchPosts, userId)
  
  yield join([postsTask, albumsTask])
}
代码语言:javascript
复制
function* fetchUserData(userId) {
  const postsTask = yield fork(fetchAlbums, userId)
  const albumsTask = yield fork(fetchPosts, userId)
  
  yield all([postsTask, albumsTask])
}

看起来他们两个都只是同步了几个任务。

EN

回答 1

Stack Overflow用户

发布于 2021-08-29 23:13:31

简而言之,一个是“同步”/join,另一个是“异步”/all,

查看文档:

join([...tasks]) =它将任务数组包装在连接效果中,大致相当于yield tasks.map(t => join(t)) - https://redux-saga.js.org/docs/api/#jointask

join将解析为加入的任务的相同结果(成功或错误)。如果加入的任务被取消,则取消也会传播到执行加入效果的Saga。同样,这些加入者的任何潜在调用者也将被取消。

和:

all([...effects]) - parallel effects =创建一个效果描述,指示中间件并行运行多个效果,并等待所有效果完成。它相当于与标准Promise#all - https://redux-saga.js.org/docs/api/#alleffects---parallel-effects相对应的API

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68976847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档