2
看起來,req
和res
變量在Express中具有全局範圍(例如,無論函數範圍如何,都可以訪問這些變量)。這是如何實現的,而不會導致同時發生的客戶端衝突Node + Express:req和res變量如何在不引起衝突的情況下具有全局範圍?
看起來,req
和res
變量在Express中具有全局範圍(例如,無論函數範圍如何,都可以訪問這些變量)。這是如何實現的,而不會導致同時發生的客戶端衝突Node + Express:req和res變量如何在不引起衝突的情況下具有全局範圍?
它們沒有全局範圍。
該路由爲每個路由採用一個處理函數。該路線通過req
和res
對象。
app.get('/my-route', myHandler);
你的處理程序會收到這些對象,並使用它們。
exports.myHandler = function(req, res) {
res.send("Hello world");
);
當您進行數據庫調用(或任何其他IO綁定調用)傳遞給它的回調。 req
和res
對象作爲閉包存在於該回調中。
exports.myHandler = function(req, res) {
var weekday = req.query.weekday || "today";
db.getWeather(weekday, function(err, result) {
// `res` here is a closure
if(err) { res.send(500,"Server Error"); return; }
res.send(result);
});
};