Вот несколько подходов к этому:
Сделать actionCreators.addUserSuccess
блокировку
Отправить другое действие, когда actionCreators.addUserSuccess
завершит
Создание actionCreators.addUserSuccess
блокирования
Существует создатель эффекта putResolve
для блокировки эффекта.Это полезно только тогда, когда addUserSuccess возвращает обещание, которое необходимо выполнить.
const response = yield putResolve(actionCreators.addUserSuccess(user.data))
// use resolved promise in next operation
Отправка другого действия, когда actionCreators.addUserSuccess completes
)
Где actionCreators.addUserSuccess
нене возвращайте обещание, это лучший способ.
Отправьте другое действие, когда actionCreators.addUserSuccess
завершит, тогда take
это действие.
while (true) {
// say this is the action type that is dispatched in the
// middleware that runs actionCreators.addUserSuccess
const action = yield take('FETCH_USERS');
yield put(actionCreators.fetchUsersSuccess(action.users.data))
}