Typescript redux-saga生成器/saga上的变量赋值
让我们想想下面的故事:Typescript redux-saga生成器/saga上的变量赋值,typescript,generator,redux-saga,Typescript,Generator,Redux Saga,让我们想想下面的故事: function* mySaga(){ const x = yield call(getX) } 实际上,const x的值不是直接由call(getX())的返回值指定的,而是由调用时在mySaga.next(whatever)中传递的任何值指定的 我假设redux saga足够聪明,可以通过调用.next()方法来管理saga,并生成上一个承诺的结果 是吗? 假设x实际上是getX()的结果有多安全 假设x实际上是getX()的结果有多安全 如果生成器是由red
function* mySaga(){
const x = yield call(getX)
}
实际上,const x
的值不是直接由call(getX())
的返回值指定的,而是由调用时在mySaga.next(whatever)
中传递的任何值指定的
我假设redux saga足够聪明,可以通过调用.next()
方法来管理saga,并生成上一个承诺的结果
是吗?
假设x
实际上是getX()
的结果有多安全
假设x实际上是getX()的结果有多安全
如果生成器是由redux saga运行的,那么只要getX
返回一些东西(即,它不会抛出,也不会进入无限循环),redux saga保证将使用该返回值恢复saga,从而将其分配给x
如果你手动一步一步地完成这个故事,那么它将得到你手动插入的任何东西。我认为手动迭代saga的唯一原因是编写一个单元测试,所以如果您使用的是设计好的redux saga,那么就不必担心这个问题