gpt4 book ai didi

javascript - AbortController 不终止获取请求

转载 作者:行者123 更新时间:2023-12-05 03:57:24 26 4
gpt4 key购买 nike

我正在尝试创建一个辅助函数,以在 2000 毫秒后自动使 fetch 请求超时。以下代码不会中止提取请求,而是在 4000 毫秒后正常打印请求。该代码似乎在浏览器中有效,但在 Node 中无效。

require('isomorphic-fetch');
const AbortController = require('abort-controller');

const fetchTimeout = async url => {
const controller = new AbortController();

setTimeout(() => {
controller.abort();
}, 2000);

return fetch(url, { signal: controller.signal })
.then(response => {
return response;
})
.catch(error => {
throw new Error(error.message);
});
};

const getStock = async () => {
return await fetchTimeout('https://httpbin.org/delay/4').then(data =>
data.json()
);
};

( async () =>
console.log(await getStock())
)();

最佳答案

我能够通过使用 node-fetch 库而不是 isomorphic-fetch 来解决这个问题,没有其他实现问题。我已经记录了一张票 here ,希望这可以帮助其他遇到这个令人沮丧的问题的人。

关于javascript - AbortController 不终止获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58552173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com