Мне нужно отобразить несколько сообщений массива через 3 секунды, используя array.map()
.Вот массив:
const messages = [
'hello', 'world', 'have', 'some', 'code'
]
Чтобы ждать на карте, я создал функцию wait
.
const wait = new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true)
}, 3000)
})
Затем у меня есть метод app
, гдея выполнил Promise.all()
следующим образом:
const app = async () => {
await Promise.all(messages.map(async msg => {
await wait
document.querySelector('#app').innerHTML += msg + ', '
}))
}
app()
Ожидаемый результат будет ждать 3 секунды на каждой итерации карты в массиве сообщений, но он будет выводить все сообщения сразу после3 секунды!
Codepen: https://codepen.io/rakibtg/pen/xQMwYK
Что мне здесь не хватает?