Next.js で web アプリを作っています(ホスティング先は Vercel)
Next.js の api ルートを使って、バックエンドの実装をしました。
下記のように、dayjs を利用して、API がリクエストを受け付けた時刻を取得しています。(
javascript
1const date = dayjs().format()
毎回 date
の値が変わることを期待していたのですが、何度リクエストを投げても同じ値が返ってきます。
クライアント側で同様のコードを書いてみると、毎回実行時の時間が帰ってくるのですが、サーバー側では日時の取り扱いに何か違いがあるのでしょうか。
解決方法でなくとも、注意点や確認してみるべき点が思いつく方は、何卒アドバイスいただきたくお願いします。
そのコードをどこに書いたかによるでしょうね…。
記載箇所によっては、グローバルに定義してしまっていて、毎回同じものを呼び出している可能性があると意味でしょうか?
helper 関数を用意して、そこに `export const date = dayjs().format()` として、API の実行部分で下記のように呼び出しています。
```javascript
import {date} from "@src/helper";
export const api = async (
req: NextApiRequestWithCustomClaims,
res: NextApiResponse
) => {
const currentDate = date;
}
```
export const date = dayjs().format() したものは一度だけ実行されて、何度 import しても同じ値になります。毎回違う値が欲しいなら、関数にして使う側で関数を呼ぶ必要があるかと。
あなたの回答
tips
プレビュー