У меня есть этот класс JS
Agent.js
class Agent {
constructor(agentId) {
this.agentId = agentId
}
getProducts() {
return arrayOfProducts[]
}
}
В процессе входа в систему я создаю нового агента:
login.js
function login() {
//tl;dr
var agent = new Agent('123')
req.user = agent
}
Здесь я передаю агент другой функции
index.js
router.get('/dashboard', (req, res, next) => {
getUserData.dashboard(req.user, res, next)
}, (req, res, next) => { //res.render... });
Я не хочу передавать продукты из каждого представления, поэтому на приборной панели я пытаюсьчтобы получить данные агента вместо логина.
getUserData.js
var dashboard = (agent, res, next) => {
console.log(typeof agent) // returns 'object'
//get products
var products = agent.getProducts();
next()
}
module.exports = {
dashboard : dashboard
}
Я получаю сообщение об ошибке:
getProducts () не является функцией.
Как передать агенту и получить его методы?