您可以使用expressjs app.locals属性。
要写入数据:
app.locals.map = map;
要读取数据:
let map = app.locals.map;
文档:
https://expressjs.com/en/api.html#app.locals
,
请参阅此文档-> Global
在这种情况下,您可以使用SELECT DISTINCT A.EMPLOYEEID,A.EMPLOYEENAME,CASE WHEN C.EMPLOYEEID IS NOT NULL THEN 'YES' ELSE 'NO' END AS TakenInPast2Weeks,B.START_OF_WEEK_STARTING_MON_DATE
FROM #EMPLOYEE A
CROSS JOIN (
SELECT DISTINCT START_OF_WEEK_STARTING_MON_DATE
FROM #CALENDAR
WHERE DATE BETWEEN DATEADD(WEEK,-6,CONVERT(DATE,GETDATE())) AND CONVERT(DATE,GETDATE())
) B
LEFT JOIN #FEEDBACK C
ON A.EMPLOYEEID = C.EMPLOYEEID
AND C.DATETAKEN BETWEEN DATEADD(WEEK,-2,START_OF_WEEK_STARTING_MON_DATE) AND DATEADD(DAY,-1,START_OF_WEEK_STARTING_MON_DATE)
对象。
global
,
我建议您尝试使用express
特定的app.locals
或res.locals
。
假设您有一个初始化为
的应用
const app = express();
const data = await api.get('colors');
const map = {
red: data.red,blue: data.blue,green: data.green,}
//Assign it to locals
app.locals.map = map;
现在map
在应用程序的整个生命周期中都可用,您只需调用变量map
就可以在视图中访问它们。
res.locals
做同样的事情,但仅在请求的生命周期内可用。假设您要根据请求发送特定的颜色。您可以这样做。
app.use(function(req,res,next){
if(req.params.id==='admin')
res.locals.color = req.app.locals.map.red;
else
res.locals.color = req.app.locals.map.blue;
next();
});
使用上述中间件,您将能够拥有一个变量color
,该变量可用于所有后续的中间件和最终视图。您可以使用color
访问同一视图。这一直持续到该请求的生存期。
本文链接:https://www.f2er.com/3162088.html