如何解决redux saga生成器/ sagas上的变量分配
让我们考虑以下传奇故事:
function* mySaga(){
const x = yield call(getX)
}
实际上,const x
的值不是直接由call(getX())
的返回值分配的,而是由在调用mySaga.next(whatever)
时传递的任何值分配的。
我认为redux-saga足够聪明,可以通过调用.next()
方法并最终产生诺言的结果来管理传奇。
是吗?
仅假设x
实际上是getX()
的结果有多安全?
解决方法
仅假设x实际上是getX()的结果,这有多安全?
如果生成器正在由redux saga运行,则只要getX
返回某些内容(即,它不会抛出并且不会进入无限循环),redux saga便会保证该saga将被恢复该返回值,并因此分配给x
。
如果您手动遍历saga,那么它将获得您手动插入的内容。关于我可以手动遍历saga的唯一原因是编写单元测试,因此您不必担心此问题。关于您是否正在使用设计的redux saga。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。