Я пытаюсь вызвать несколько функций, каждая из которых возвращает обещание при нажатии кнопки. Когда все это будет выполнено, что-то должно произойти (в данном случае просто location.reload()
).
Мой код отлично работает в Chrome, однако в Safari и MS Edge он добавит все функции в promises
массив, а затем перезагрузите, прежде чем они будут выполнены.
Это мой код
button.addEventListener('click', function() {
this.classList.add('disabled');
let promises = [];
let total_qty = 0;
for (var variant of registrered_variants) {
promises.push(
FunctionThatReturnsAPromise();
)
total_qty += variant.qty
}
// reload page when all functions ran.
Promise.all(promises).then(() => location.reload());
});