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()
запросов на бэк.