На данный вопрос уже ответили:
Допустим у меня есть массив который я перебираю:
array = [
'item1',
'item2',
....
]
array.forEach((item,i) => { ... //getAnyThing() }
Например при переборе я вызываю метод в котором есть setTimeout():
getAnyThing() {
let w = window.open('anyUrl') // Просто пример в моём непонимании...
setTimeout(() => {
w.close();
},10000);
}
Сам вопрос: как во время перебора дождаться выполнения моего метода и только после этого следовать дальнейшему перебору?
array.forEach((item,i) => {
setTimeout(() => {
this.getAnyThing();
},10000);
}
Можете использовать async\await
для этого.
array = [
'item1',
'item2',
'item3',
]
async function getAnyThing() {
await new Promise(resolve => {
setTimeout(() => {
resolve();
}, 1000);
});
}
~async function() {
for (let item of array) {
await getAnyThing();
console.log(item);
}
}()
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
В мобильной версии сайта элемент перестраивается в слайдер:
Показывает 6 ошибок но почему он их показывает у меня не получается понять не подскажете ли в чем здесь проблема?
Возникла проблема с приложением, написанным и тестированным на nodejs v4 и node