0
我有以下代碼:Node.js的異步一致性
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
在db中註冊,因爲調用的異步性質?
可能是的,但不能保證。你想做什麼?中間件可能是錯誤的工具。 – Bergi