Я хочу создать кнопку «Отмена» в моем приложении.Запрос, который кнопка должна отменить, содержит Promise.all
, выполнение которого обычно занимает несколько минут из-за ограничения скорости API на другом конце.
Если у меня есть такой маршрут:
router.get('/api/my_route', (req, res, next) => {
//imagine this takes about 2 minutes to complete and send back the 200.
//The user changes their mind and wants to cancel it at the 1 minute mark.
fetch("https://jsonplaceholder.typicode.com/albums")
.then(first_response => first_response.json())
.then(arr => Promise.all(arr.map(item =>
fetch("https://jsonplaceholder.typicode.com/users")
.then(second_response => second_response.json())
.then(value => console.log(value))
)))
.then(() => {
res.status(200);
});
});
Как вы можете отменить это и полностью прервать его во время выполнения запросов Promise?