Я пытаюсь создать вспомогательную функцию для автоматического тайм-аута fetch
запросов после 2000 мс. Следующий код не прерывает запрос на выборку и вместо этого печатает запрос как обычно через 4000 мс. Код работает в браузере, но не в узле.
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())
)();