私は次のコードを持っています:
server.use(function(req, res, next) {
users_db.set(req.user, function(err) { // async call to mongodb
if (err) {
console.error(err);
}
});
}
return next();
});
server.get('/', function(req, res) {
req.user.active = true; // this is a new field in user object
res.send(req.user);
}
});
ご覧のとおり、users_db.set()
が呼び出されたときreq.user
にフィールドがありませんactive=true
。関数にのみ挿入されていserver.get()
ます。
user.active = true
それにもかかわらず、呼び出しの非同期性のためにデータベースに登録されている可能性はありますか?