¿Cómo puedo cancelar o actualizar una solicitud de sondeo con la saga misma llamada acción

votos
3

Soy API sondeo con retraso y cancelación mediante condición de carrera.

Lo que quiero lograr es cuando mi página se representa, quiero empezar de votación para las puntuaciones en alguna acción que llamaré mismo sondeo (misma API) con algunas otras Parámetros de consulta de manera que sólo quiero actualizar el mismo sondeo con nuevos parametros.

Para ello, he hecho algo como esto.

export function* pollScoreSnippets() {
  while (true) {
    try {
      const { data } = yield call(() => request(apis.GET_SCORE_API));
      yield put({
        type: types.DASHBOARD_DATA_FETCHED,
        payload: {
          type: ['scores'],
          data: {
            scores: { values: data.data },
          },
        },
      });
      yield call(delay, SCORE_SNIPPET_POLLING_DELAY);
    } catch (err) {
      yield put({
        type: types.DASHBOARD_DATA_FETCHING_ERROR,
        payload: {
          error: err.response.data,
        },
      });
      yield call(delay, SCORE_SNIPPET_POLLING_DELAY + 10);
    }
  }
}

export function* watchPollSaga() {
  while (true) {
    // console.log('watching');
    yield take(types.POLL_SCORE_SNIPPETS);
    yield race([call(dashGenerators.pollScoreSnippets), take(types.STOP_POLLING_SCORE_SNIPPETS)]);
  }
}

Que está trabajando para mí, pero con este enfoque Tengo que llamar a cancelar la acción luego de nuevo para reiniciar misma acción de votación de nuevo.

¿Hay alguna manera de que si voy a llamar misma acción y, o bien se actualizará la solicitud de sondeo actual o cancelar o reiniciar con la nueva solicitud de sondeo

algo tipo de:

export function* watchPollSaga() {
  while (true) {
    // console.log('watching');
    yield take(types.POLL_SCORE_SNIPPETS);
    yield race([call(dashGenerators.pollScoreSnippets), take(types.POLL_SCORE_SNIPPETS)]);
  }
}
Publicado el 19/09/2018 a las 13:35
fuente por usuario
En otros idiomas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more