我正在嘗試設置一個安全檢查中間件,該中間件將在我添加到的路由上運行。使用快遞中間件並將res.local數據傳遞給路由
中間件
function SecurityCheckHelper(req, res, next){
apiKey = req.query.apiKey;
security.securityCheck(apiKey).then(function(result) {
res.locals.Security = result.securitycheck;
console.log(res.locals.Security);
});
return next(); // go to routes
};
路線
app.get('/settings', SecurityCheckHelper,function(req, res, next) {
console.log(res.locals);
});
其相對簡單的,我試圖通過result.securitycheck
(返回真/假)到/settings
路線。但是res.locals
正在返回一個空對象
這是因爲你的安全檢查是異步的,你立即返回..把下一個在你的..然後.. – Keith
@Keith真棒!你釘在頭上,你能回答這個問題,所以我可以給你信用:D – Charles