M
M
Mikhailo Poberezhny2016-04-05 00:30:36
Node.js
Mikhailo Poberezhny, 2016-04-05 00:30:36

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 // так я даю видимость этой функции в роуте
}

I don’t even know how to google to find out how to do this... help guys)

Answer the question

In order to leave comments, you need to log in

2 answer(s)
P
Provocation, 2016-04-05
@as_for_me

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 through
var io = req.app.get('io');

S
superivankorolev, 2016-04-05
@superivankorolev

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 question

Ask a Question

731 491 924 answers to any question