セッションに値を格納するには、コールバックを指定せずにreq.session.key=valueを呼び出すだけであることに気付きました。connect-mysqlモジュールを使用して、mysqlをセッションストレージアダプターとして設定しました。だから私は、データベースで更新されているセッションに値を保存するたびに、これに関連付けられたコールバックがあるべきではないかと考えていますか?しかし、私が見るところはどこでも、人々はそれを同期して喜んで使用しています。誰かがこれが事実である理由を説明できますか?ありがとう。
質問する
353 次
1 に答える
1
session
ミドルウェアは、実際には、変更ごとにすぐにではなく、リクエストごとに2回だけデータストアと対話します。
- リクエストの開始時に一括で
Store#get()
取得する場合。Session
(ソース) Store#set()
(via )を使用して、リクエストの最後に一括でSession#save()
永続化します。Session
(ソース)
これらのステップの間で、への変更をsession
同期的に行うことができます。それらは、呼び出される前res.end()
または同様の(res.render()
、、res.json()
など)が呼び出される前に実行する必要があります。
于 2012-07-29T13:11:34.397 に答える