Метод io.on не вызывает внутри функции в socket.io - PullRequest
0 голосов
/ 23 сентября 2019

connect.js

var socket_io = require('socket.io');
var io = socket_io();
var socketApi = {};
socketApi.io = io;

var Users = async (req, res) => {
var names = ['ram','laxman'];
chat(names);
};

function chat(names) {
console.log('chat called');
  io.on('connection', (socket)=>{
    socket.on('add-message', (data) => {
    io.emit('message', data);
  });
});
});
module.exports = { socketApi, Users }

rout.js

var chatRouter = express.Router();
var connectController = require('../controllers/connect');

chatRouter.post('/connectlink', function (req, res) {
    connectController.Users(req, res);
});

module.exports = chatRouter;

Когда я вызываю пост-метод '/ connectlink', метод io.on не вызывается в connect.js... Из метода Users в файле connect.js отправка 2 имен пользователей для следующей функции.Вызывается функция chat (names) и также выводится сообщение console.log () ... но метод io.on не вызывается.

Если я удаляю строку функции chat (names), метод io.on работает,но согласно моей функциональности я должен добавить функцию чата (имен).

...