Пытаетесь настроить Socket-io внутри маршрутизатора и отправить асинхронное значение? - PullRequest
0 голосов
/ 09 октября 2018

Таким образом, пытаясь следовать этому ответу здесь для настройки Socket.io для работы в экспресс-приложении с файлом / wwww и index.js в качестве маршрутизатора.(Ссылка: Использование socket.io в Express 4 и экспресс-генератора / bin / www )

ВЫПУСК : 1) Я могу подключиться к сокетувне роутера. пост.однако, когда я пытаюсь создать соединение внутри router.post для передачи результатов клиенту с сервера - я не могу подключиться.

Я не могу отправить асинхронные данные через socket.io

Консоль

a user connected index outside routerrr

Index.js

module.exports = function(io) {

  io.on('connection', function(socket){
    console.log('a user connected index outside routerrr');
  });
  /* GET home page. */
  router.get('/', function(req, res, next) {
    res.render('index', { title: 'Express' });
  });

  router.post('/', async (req, res) => {
      // Assign first query
      searchedT = req.body.searchTerm;
      queries.push(req.body.searchTerm);
      // Invoke the async iterator
      console.log("start....");

      const results = await queryIterator(queries, async function(result) {
        console.log("--->" + await result);

         // Trying to connect to socket and send async data!!!!        
        io.on('connection', function(socket) {
          console.log('a user connected inside routerrr');

          socket.on('sentiment result', async function(result){
            io.emit('sentiment result', await result);
          });
        });

        // res.send(await result);

      });
      // res.send(result);
  });

    return router;
}

script.js

 var socket = io();

function sendForm() {
    let form = $('#message-entry');
    let query = form.serialize();
    $.post('/', query, async function (data) {
        const results = await data;
        $(function () {
            // var socket = io();

            socket.on('sentiment result', function(result){
              $('#sentimentScore').text(result.sentimentResults.sentiment.score);
            });
          });

     });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...