如何等待2个动作并在redux-saga中加入他们的结果

时间:2016-03-11 13:03:15

标签: javascript redux saga redux-saga

在我的应用程序中,我想定义一个处理LEFT_CHANGEDRIGHT_CHANGED操作的传奇,并继续执行新的操作SOURCES_CHANGED,其中包含上述有效负载的有效负载动作。

export function* watchLeftRightChanged() {  
  const left = null;
  const right = null;
  while (true) {
    const result = yield take(['LEFT_CHANGED', 'RIGHT_CHANGED'])
    switch (result.type) {
      case 'LEFT_CHANGED':
        yield put({ type: 'SOURCES_CHANGED', result, right })
        continue;
      case 'RIGHT_CHANGED':
        yield put({ type: 'SOURCES_CHANGED', left, result })
        continue
    }
  }
}

问题在于leftright变量是null,当SOURCES_CHANGED动作被发出并且它们的值不被维护时(我相信这是迭代器的本质) )。

有人可以帮忙吗?感谢

0 个答案:

没有答案