JS возвращает значение, затем возвращает «неопределенное» - PullRequest
0 голосов
/ 31 мая 2018

Я выбираю значение с сервера socket.io и затем передаю его клиенту для отображения.Одна переменная, которую я передаю, работает нормально, но другая сначала отображает одно значение, а затем возвращает его как «неопределенное».Я не совсем уверен, почему это так, потому что оба значения отображаются на клиентской консоли без проблем.

Вот соответствующий бит JS на стороне клиента:

  var socket = io();
  socket.on('broadcast',function(data) {
     document.getElementById("output").innerHTML = data.rating;
     document.getElementById("output").innerHTML = data.description;

     console.log(data);
     console.log(data.rating);
  }); 

... и вот файл server.js:

biasDetector.stdout.on('data', function(data) {
      var outputText = data.toString('utf8');
      var rating = (reliabilityResult['type']);
      console.log(outputText);
      console.log("Second check" + rating);
      io.sockets.emit('broadcast',{description: outputText}, {rating: rating});
    });

Я проверяю значениеrating несколько раз по всему server.js, и он никогда не выглядит как неопределенный, что наводит меня на мысль, что это проблема JS на стороне клиента, так как я получаю другое значение description без проблем.

Спасибо!

1 Ответ

0 голосов
/ 01 июня 2018

Вы пытаетесь отправить два отдельных объекта с этим:

io.sockets.emit('broadcast',{description: outputText}, {rating: rating});

Но затем пытаетесь прочитать оба свойства из одного объекта на принимающей стороне вещей с помощью этого:

socket.on('broadcast',function(data) {
    document.getElementById("output").innerHTML = data.rating;
    document.getElementById("output").innerHTML = data.description;
}); 

Измените сервер, чтобы поместить оба свойства в один объект:

io.sockets.emit('broadcast', {description: outputText, rating: rating});

, чтобы отправляющая сторона соответствовала стороне чтения.

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