【发布时间】:2019-03-07 03:28:32
【问题描述】:
我有一个看起来像这样的基本传奇:
const mySaga = function* () {
yield takeEvery("SOME_ACTION_REQUEST", function* (action) {
const result = yield call(makeApiCall, action.payload);
yield put({
type: "SOME_ACTION_SUCCESS",
payload: result
});
});
}
现在我遇到的问题是,如果我同时调度了两个 "SOME_ACTION_REQUEST",那么我的 redux 调用堆栈如下所示:
SOME_ACTION_REQUEST
SOME_ACTION_REQUEST
SOME_ACTION_SUCCESS
SOME_ACTION_SUCCESS
这搞砸了我的 reducer 中的逻辑。
我想要的是运行每个请求,但要等待前一个请求完成后再开始。
即。所以它看起来像:
SOME_ACTION_REQUEST
SOME_ACTION_SUCCESS
SOME_ACTION_REQUEST
SOME_ACTION_SUCCESS
我将如何实现这一目标?
【问题讨论】:
标签: redux-saga