redux-saga为什么在看跌期权旁边需要收益?

时间:2019-03-29 01:12:23

标签: redux-saga

我有以下传奇故事

export function* login(userName, password) {
  yield put({ type: 'LOGIN_DONE', status: 'success', userName: 'test' });

  // Redirect to the landing page
  yield put(push('/location'));
}

我对以下内容感到困惑

如果我不把收益率放在第一个看跌期权之前,则不会分派动作。这是预期的行为吗?如果是,为什么呢?我以为在最后一个看跌期权旁边有一个收益就足够了,但这似乎只派出了第二个动作

谢谢

1 个答案:

答案 0 :(得分:1)

生成器功能可以暂停其过程,直到后续的生成器功能终止。这可以通过使用 yield 关键字来实现:

  

然后,中间件执行由   效果API。 同时,Generator将被暂停,直到   效果执行终止。   执行时,中间件在生成器传递时调用next(result)   将检索到的结果作为参数。重复此过程,直到   生成器正常终止或抛出一些错误。

因此,在您的情况下,该操作可能会触发另一个“传奇”,这可能需要完成他们的工作才能继续下一个收益。如果您不打算这样做,那么可能会产生副作用,使后续的生成器函数异步运行,并且结果将不符合预期。