@izac

Чем заменить метод $emit (который раньше был в socket.io)?

Пример: otherModule.js
exports.post = function (req, res, next) {
  var sid = req.session.id;
  var io = req.app.get('io'); 

  req.session.destroy(function (err) {
    io.sockets.$emit('session:reload', sid);
    // ...
    res.redirect('/');
  }
};


Обработчик в socket.js
io.sockets.on('session:reload', function(sid) {
  // ...
});


Необходимо просто сгенерировать событие из другого модуля, для дальнейшей обработки.
  • Вопрос задан
  • 670 просмотров
Решения вопроса 1
@izac Автор вопроса
Нашёл не думаю что это best way но поправьте если не так
в socket.js
io.on("sessreload",function(sid){
//some code
});


в otherModule.js

exports.post = function(req, res,next){
	var sid = req.session.id;
	var io = req.app.get("io");
	req.session.destroy(function(err){
		io.sockets._events.sessreload(sid);
		if(err) next(err);
		res.redirect('/');
	});
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы