只有当所有请求都完成时,React fetch 才会从回调中获得响应



我正在使用 react fetch 每 5 秒定期轮询一次 GET api 请求。前 8 个请求正常工作,这意味着我立即收到每个请求的响应,但是当队列中有更多 api 请求等待并且我收到消息"警告:请求尚未完成"时,问题就出现了。只有当所有请求都完成时,我才得到响应(似乎它等待所有请求完成,然后在回调中返回响应)。

如何在不等待所有请求完成的情况下立即获得每个请求的响应?

fetch(url, {
        method: 'GET',
        headers: {
            Accept: 'application/json',
        },
    }).then(function (response) {
        return response.json();
    }).catch(function (error) {
        console.log(error);
    }).then((response) => {
        if (response != null) {
             // Got the response only if all requests are finished
            this.setState({
                ...
            })
        }
    })
}

更多信息,我正在使用Spring Boot作为API服务器,GET端点。

fetch 调用返回一个 promise。因此,您不应该立即调用另一个函数,而应该提供一个在 promise 成功解析时应该调用的函数。

最新更新