Open du1wu2lzlz opened 6 years ago
take
put
async
个人理解: 为了方便进行单元测试
单元测试: 关注,测试 : 函数内部代码逻辑,若内部逻辑涉及异步请求,并不关心异步请求的返回值
redux-saga中文文档中声明式 Effect :
redux-saga 提供了一个不一样的方式来执行异步调用 :
通过call(fn, ...args) 这个函数。现在我们不立即执行异步调用,相反,call 创建了一条描述结果的信息。因此我们不必再使用mock来模拟异步请求的返回函数了,因为redux-saga的call函数已经帮我返回了结果信息
call(fn, ...args)
redux-saga middleware 确保执行函数调用并在响应被 resolve 时恢复 generator。
所以现在我们不需要模拟任何东西了,一个简单的相等测试就足够了。
为什么使用
take
,put
而不用async
await```呢个人理解: 为了方便进行单元测试
单元测试: 关注,测试 : 函数内部代码逻辑,若内部逻辑涉及异步请求,并不关心异步请求的返回值
redux-saga中文文档中声明式 Effect :
redux-saga 提供了一个不一样的方式来执行异步调用 :
通过
call(fn, ...args)
这个函数。现在我们不立即执行异步调用,相反,call 创建了一条描述结果的信息。因此我们不必再使用mock来模拟异步请求的返回函数了,因为redux-saga的call函数已经帮我返回了结果信息redux-saga middleware 确保执行函数调用并在响应被 resolve 时恢复 generator。
所以现在我们不需要模拟任何东西了,一个简单的相等测试就足够了。