非同期処理をループで定義する
for, for-of, for-inを使用する
code:js
;(() => {
const sleep = (seconds) =>
new Promise((resolve) => setTimeout(resolve, seconds * 1000, seconds))
;(async () => {
await sleep(1)
console.log(char)
}
})()
})()
https://kakeru.app/71926d536f4a6ce2ed07d2231e45c2d1 https://i.kakeru.app/71926d536f4a6ce2ed07d2231e45c2d1.svg
forEach は同期関数を期待する forEach はプロミスを待ちません。
これに引っかかったrmaruon.icon
code:js
;(() => {
const sleep = (seconds) =>
new Promise((resolve) => setTimeout(resolve, seconds * 1000, seconds))
await sleep(1)
console.log(char)
})
})()
https://kakeru.app/b2ad75d6840d19cf63701dba6d66ecd0 https://i.kakeru.app/b2ad75d6840d19cf63701dba6d66ecd0.svg
意図して、並行処理にするならPromise.allを使った方が良いと思うrmaruon.icon code:js
;(() => {
const sleep = (seconds) =>
new Promise((resolve) => setTimeout(resolve, seconds * 1000, seconds))
Promise.all(
await sleep(1)
console.log(char)
})
)
})()