proxy_pass.map $scheme $upstream_main {
default app;
}
upstream bundle {
server $upstream_main;
server fallback backup;
} setTimeout(
console.log,
1000,
'я',
'буду',
'читать',
'документацию',
'https://developer.mozilla.org/en-US/docs/Web/API/setTimeout'
); async function removePopUpFilter() {
const filterContainer = document.querySelector('.filter-container');
// первым делом
filterContainer.style.opacity = '0';
// теперь дождаться
await new Promise(resolve => filterContainer.addEventListener('transitionend', resolve));
// и наконец
filterContainer.remove();
}но это как-то не к месту и длиннее.. ) reject() понятно – я же специально делал return Promise.reject(new Error('Aborted')); так, что никакого дальнейшего выполнения.throw, но повторяется после каждой асинхронной операции – вроде бы, неверно. Очень хорошее решение с обёрткой каждой «отменяемой» асинхроты в Promise.race() подсказал в комментариях Alexandroppolus – так и поступлю. f1(), f2().. по нескольку async обращений к SDK или fetch() запросов на бэк.
Теперь маленький шаг, который нужно выполнить самостоятельно: что будет если вне зависимости от аргументов, функция всегда станет возвращать отрицательное число?