Answer the question
In order to leave comments, you need to log in
Question on node.js, you need to pass data from the route to the controller, how?
route.js я подключаю с сервера и передаю в него app и io, суть проблемы в том что мне io нужно передать в функцию в контроллере который будет исполнять этот запрос.
route.js
module.exports = function(app, io) {
app.post('/api/order/answer', answerController.newAnswer);
}
answerController.newAnswer исполняетсья но он сам както принимает reques и response 3 параметром идет next midellware а мне нужно банально сокет передать тоесть io, а я не могу подскажите как : (
controler.js
function newAnswer(req, res) {
//тут мне нужен доступ до 'io'
}
module.exports = {
newAnswer: newAnswer // так я даю видимость этой функции в роуте
}
Answer the question
In order to leave comments, you need to log in
In a nutshell: don't try to pass io as a parameter.
It can be made "global" at the app level as follows.
For example, after
writing ,
after which you can get it in any handler throughvar io = req.app.get('io');
We connect middleware, ahead of those handlers that need a socket.
We write inside.req.app.locals.io=io;
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question