0

私はnode.jsにかなり慣れていないので、非同期処理ループなどについて頭を悩ませようとしています.

ファイルvar counter = [];の先頭に配列が定義されていると仮定しましょうserver.js

次に、次のようなPOSTハンドラーがあります

app.post("/test_post", function(req, res) {
    console.log(req.body);
    counter ++;
})

カウンター変数の範囲を理解しようとしています-クライアントごとに異なるのでしょうか、それともクライアント間で共通ですか.

また、同じクライアントのカウンターをインクリメントする方法を探しています。つまり、訪問するクライアントごとにカウンターが必要です。

どうすればこれを達成できますか?ありがとう

4

3 に答える 3

1

カウンター変数の範囲を理解しようとしています-クライアントごとに異なるのでしょうか、それともクライアント間で共通ですか.

グローバルに定義しているため、クライアント間で共通になります。

また、同じクライアントのカウンターをインクリメントする方法を探しています。つまり、訪問するクライアントごとにカウンターが必要です。

基本的に必要なことは、すべてのクライアントをリッスンし、それぞれのクライアント オブジェクトにカウンターを保存することですconnectiondisconnection

この実装を見てください。役立つかもしれません。

于 2013-07-04T16:34:02.723 に答える
1

counter変数は一度初期化され、その後インクリメントできます。

投稿された例のメモcounterは配列でvar counter = [];あるため、それをインクリメントできます。それを数字に変更すると、うまくいくはずです

于 2013-07-04T17:00:15.360 に答える