後で実行する部分を関数にまとめて その関数をどこかに渡しておいて 実行するタイミングで呼び出すのと 「await xxx」 みたいのを書いておいて その後ろに後で実行する部分を書いて実行するタイミングで xxx の Promise を resolve するの
どっちがいいか迷ってて 処理を関数にまとめて渡すほうがわかりやすいかなって気はしてたけど コールバック関数と await と考えたら await のほうが良い気もしてきた
「1 秒後に実行」で考えてみたら await の方かなぁ
function a() {
something()
setTimeout(() => {
something2()
}, 1000)
}
async function b() {
something()
await new Promise(r => setTimeout(r, 1000))
something2()
}でも 複雑になってくるとコールバック関数のほうかも
const items = []
setInterval(() => {
items.shift()?.()
}, 5000)
function a() {
something()
items.push(() => something2())
}
async function b() {
something()
const promise = new Promise(r => items.push(r))
await promise
something2()
}