如何使用fetch来填充以前的API调用?

时间:2017-01-19 15:52:07

标签: javascript reactjs redux fetch

让我们说我正在从React应用程序进行多个API调用。 "多个API调用"在这种情况下意味着:快速点击几次复选框。每次选中复选框时,都会触发API调用。

为了更准确地说明这种情况,我将在用户界面中添加屏幕截图:

Based on the above description, I am clicking at master several times. I am not even waiting for the response from the API

每次选中复选框时,都会调用此函数:

export function getApplications(authenticationToken, url, query, queryStringIn) {
return function(dispatch) {
    const config = {
        headers: {'Authorization' :"Bearer " + authenticationToken}
    };

    let queryString;

    if (queryStringIn === "" || queryStringIn === null) {
        queryString = queryStringBuilder.buildQuery(query);
    } else {
        queryString = queryStringIn;
    }

    let fetchTask =  fetch(url + "/Applications?" + queryString.toString(), config).then(data => {
        return data.json();
    }).then(applications => {
        dispatch(loadApplicationsSuccess(applications, queryString, query));
    }).catch(error => {
        dispatch(loadApplicationsFailed(error));
    });
    addTask(fetchTask); //ensure that server rendering is waiting for this to complete
    return fetchTask;
}

在我对相同的API进行新的调用之前,当我快速点击复选框以使API无法返回响应时,会出现问题。

我想要一种只进行最后一次API调用的行为,如果有的话,队列中的API调用将被取消。

在这种情况下,你们建议做些什么?

0 个答案:

没有答案