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,那么就不必担心这个问题