写一个redux-saga-4:effect和effectRunner
Jul 25, 2019
effect表示一个副作用,effectRunner用来执行effect。
effect一般结构如下:
1 | { |
payload
中装载着需要传给effectRunner,用来执行effect的一些数据。
代码会根据type
属性找到对应的effectRunner,接收payload
,然后执行。
以take()
和runTakeEffect()
为例:
1 | // tak(action) 暂停iterator,等待指定action |
感觉没啥要写的,saga基本的功能目前已经具备(call, fork, take, put, select, cancel, join, all, race)。总结下代码吧:
https://github.com/xusanduo08/easy-saga/tree/master/%E5%86%99%E4%B8%80%E4%B8%AAredux-saga-4
控制台可直接npm run test
运行测试用例,以上提到的功能的测试用例均能跑通。
代码里还有个小demo,npm start ``后可以直接运行