私は小さなnodeJSベースの電子メールサーバーを書いています。オブジェクトがRequest
あり、その中にすべてのユーザーを格納し、次のように定義された静的変数が 1 つあります。
Request.publicMemory = new Object();
Request.publicMemory.users = new Object();
Request.prototype.getPublicMemory = function() {
return (Request.publicMemory);
};
User
私はそれにオブジェクトを保存します:
function User(params) {
this.mails = new Array();
this.sent = new Array();
var details = new Object();
details.username = params.username;
details.password = params.password
return;
}
ご覧のとおり、それを返す静的関数もあります。
ここで、uesrs を追加すると、その変更が実際に行われますが、何かを変更すると、Request.publicMemory.usesrs[someuser]
その変更は常に関数に対してローカルであり、他の場所では有効になりません。これが私がそれを行う方法の例です:
function addMail(request) {
var users = request.getPublicMemory().users;
var to = request.parameters['to'];
users[to].mails.push(mail);
}
これまでnodeJSで静的変数を使用したことがなく、まったく初めてなので、ばかげているかもしれませんが、まだ解決できません。何か案は?
ありがとう!