redux-saga api呼叫响应过滤

时间:2020-09-04 11:28:56

标签: reactjs redux redux-saga

我试图像这样过滤我的redux-saga生成器函数api响应。

    function* loadSingleDataAsync(id) {
  console.log('Second Saga Works');
  let wholeData = [];
  let singleData = [];
  agent
    .get(
      `https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?CMC_PRO_API_KEY=xxx`
    )
    .then((res) => {
      wholeData = [...res.body.data];
      singleData = wholeData.filter((currencie) => currencie.id === id);
    })
    .catch((err) => {
      console.log('--------err', err);
    });
  yield delay(700);
  yield put({ type: 'RECEIVE_SINGLE_API_DATA_ASYNC', singleData });
}

在此之后,我这样称呼它:

 export function* rootSaga() {
  yield all([takeEvery('RECEIVE_API_DATA', loadDataAsync), takeEvery('RECEIVE_SINGLE_API_DATA', loadSingleDataAsync)]);
}

第一个功能有效,但第二个功能无效,任何建议为什么?

1 个答案:

答案 0 :(得分:0)

添加一个尝试,在saga中捕获内容,可以帮助您了解saga链是否由于任何空的响应或数据问题而损坏。