Если вы хотите сохранить область действия, возможно, лучшим способом было бы написать это как async / await:
exports.someFunction = async (proc, req, res) => {
const pool = await sql.connect(config.properties)
const result = await pool.request().execute(proc)
console.log(result, req) // both retain scope
})
}
Но я думаю, что причина, по которой req не определена в ваш console.log потому что в:
sql.connect(config.properties).then((pool, req) => {
Вы ожидаете, что req будет передан вам в результате .then()
(это теневая переменная). Если вы удалите его отсюда и другой .then()
, то он также должен работать