每60秒如何连续调用redux-saga动作

时间:2019-02-07 08:22:49

标签: reactjs redux react-redux redux-saga

我正在处理一种需要每60秒连续调用一个API的情况

我关心的是如何使用redux-saga调用相同的API请求

我正在使用正常的redux-saga操作,例如,获取员工列表,该列表每60秒获取一次员工列表

使用redux-saga,react-redux和react

2 个答案:

答案 0 :(得分:0)

import { delay } from 'redux-saga';
import { call, put, takeLatest, all } from 'redux-saga/effects';


export function* fetchContinuously(action) {
  yield call(api);

  yield call(delay, 60000);

  yield put({ type: "FETCH_CONTINUOUSLY" })
}

function* actionWatcher() {
  yield takeLatest('FETCH_CONTINUOUSLY', fetchContinuously)
}


export default function* rootSaga() {
  yield all([
    actionWatcher(),
  ]);
}

答案 1 :(得分:0)

随着新版本的Redux延迟的进行了一些更改。

示例:

import { delay, put, takeLatest, all } from 'redux-saga/effects';


export function* fetchContinuously(action) {
  yield call(api);

  yield delay(60000);

  yield put({ type: "FETCH_CONTINUOUSLY" })
}

function* actionWatcher() {
  yield takeLatest('FETCH_CONTINUOUSLY', fetchContinuously)
}


export default function* rootSaga() {
  yield all([
    actionWatcher(),
  ]);
}
相关问题