循环发送Rest呼叫

时间:2020-03-09 20:11:29

标签: reactjs redux redux-thunk

我有一个Rest API,为了获取最终数据AKA:ENDDATA,我需要发送一些请求(取决于请求的深度)。因此,在发送第一个请求时,返回响应将在正文中包含nextUri,依此类推……

基本上,我需要根据nextUri执行Rest调用列表,直到到达ENDDATA结束为止。

是否有使用React&Redux \ redux-thunk的首选方法。

export const find = () => dispatch => {
dispatch({ type: FIND_CUSTOMER_START });

axios({
    method: 'post',
    url: '/v1/...',
    headers: { 'X': 'XXX1' },
    auth: {
        username: 'XXX1',
        password: 'XXX'
    },
    data: 'SELECT * FROM .....'
}).then(function (response) {
    // Need to find the nextUri ... before update teh state
    dispatch({
        type: SUCCESS,
        payload: response.data
    });
}).catch(function (error) {
    dispatch({ type: ERROR, payload: error });
 });
 }

谢谢

1 个答案:

答案 0 :(得分:0)

在redux动作中定义您的api调用

在组件生命周期方法中,您可以调用此操作。以及将状态从商店映射到您的组件。

动作更新状态时,将导致重新渲染并调用生命周期方法。在生命周期方法中,您可以检查ENDDATA是否为真,如果不正确,请再次调用该操作。

在渲染内部,您可以使用与生命周期方法相同的条件,并使它返回微调器以指示加载。