人為的な遅延を発生させるために、setTimeout
を Promise をラップする方法がよく使われています。これにより、await
を使って任意の秒数処理を遅らせることができます。
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
const handleGetRequest => async (req, res) => {
// 1秒待つ
await delay(1000)
res.send("Hello World")
}
Node.js の node:timers/promises
モジュールを使うと、このような処理をより簡潔に書くことができます。
import { setTimeout } from "timers/promises"
const handleGetRequest => async (req, res) => {
// 1秒待つ
await setTimeout(1000)
res.send("Hello World")
}