Я новичок в node.js и пишу API, но у меня есть одна базовая проблема.
Я пытаюсь получить доступ к значению в app.js, который установлен в res.locals или (req объект) в validateSession.js, давая неопределенный.
Будет ли это правильным использованием промежуточного программного обеспечения?
Как использовать результат промежуточного программного обеспечения в app.js?
app.js
app.post('/api/JSONSrv',validateSession,function(req,res){
console.log(req.dbResult)
})
validateSession.js
function validateSession(req,res,next){
if(someCondition){
oracledb.getConnection(
{
user : dbConfig.user,
password : dbConfig.password,
connectString : dbConfig.connectString
},
function (err, connection) {
if (err) { console.error(err.message); return; }
var plsql=`BEGIN CREATE_OR_VALIDATE_SESSID(:IN_CORP_ID, :PI_IN_USER_ID, :PI_IN_PASSWORD, :PI_IN_JSONLENGTH,:PI_IN_URL, :PO_IN_DOCKET, :STATUS, :OUT_ERROR_DESC, :OUT_DOCKET);
END;`;
var bindvars = {
};
connection.execute(plsql,bindvars,function (err, result) {
if (err) {
doRelease(connection);
return;
}
console.log(result.outBinds);
req.dbResult=result.outBinds;//giving undefined in app.js
res.local.dbResult=result.outBinds;//giving undefined in app.js
doRelease(connection);
});
});
}else{
res.json({
Error_Desc:'Invalid payload length'
})
}
next();
}
module.exports.validateSession=validateSession;