Redux-Saga中的effect哪些是非阻塞的

1.Redux-Saga中的effect一共有一下类别:

export const effectTypes: {
  TAKE: 'TAKE'
  PUT: 'PUT'
  ALL: 'ALL‘
  RACE: 'RACE'
  CALL: 'CALL'
  CPS: 'CPS'
  FORK: 'FORK'
  JOIN: 'JOIN'
  CANCEL: 'CANCEL'
  SELECT: 'SELECT'
  ACTION_CHANNEL: 'ACTION_CHANNEL'
  CANCELLED: 'CANCELLED'
  FLUSH: 'FLUSH'
  GET_CONTEXT: 'GET_CONTEXT'
  SET_CONTEXT: 'SET_CONTEXT'
}

2.首先我们先来了解下阻塞和非阻塞的概念

非阻塞:

非阻塞意思是假如这个action中有中间件,或一些异步操作造成了store信息更新不及时,那么effects中并不会等着这些操作执行完,即会继续执行接下来的操作。

阻塞

这个是同步操作,那么effects中会等待这些操作执行完,所以接下来取的store信息一定会是最新的

3.根据源码和官网信息总结如下

functionblock
take Blocking
call Blocking
all Blocking
put Non-Blocking
putResolve Blocking
fork Non-blocking
cancel Non-blocking
join Blocking
cps Non-blocking
posted @ 2020-12-02 15:35  ABC袁  阅读(217)  评论(0编辑  收藏  举报