websocket не работает при добавлении функции через метод соединения - PullRequest
0 голосов
/ 09 февраля 2019

Я новичок в программировании на фениксе, пока учусь, я изучаю курс удэми Стивена.

При создании канала для создания секции комментариев, он отлично работает с первым кодом, но когда я сделалфункция, метод соединения не работает должным образом.

socket.connect();

let channel = socket.channel(`comments:1`, {});
channel
  .join()
  .receive('ok', resp => {
    console.log('Joined successfully', resp);
  })
  .receive('error', resp => {
    console.log('Unable to join', resp);
  });

export default socket;

он дает мне успешный ответ соединения в моем console.but, когда я делаю такую ​​функцию ...

socket.connect();
const createSocket = topicId => {
  let channel = socket.channel(`comments:%{topicId}`, {});
  channel
    .join()
    .receive('ok', resp => {
      console.log('Joined successfully', resp);
    })
    .receive('error', resp => {
      console.log('Unable to join', resp);
    });
};
window.createSocket = createSocket;

и я позвонил в html файл ...

<script>
  window.createSocket(<%= @topic.id %>)
</script>

во время компиляции я получил ошибку, что websocket отключился во время рукопожатия ....

1 Ответ

0 голосов
/ 10 февраля 2019

Вам, вероятно, нужно использовать оператор интерполяции строк javascript

`comments:${topicId}`

вместо

`comments:%{topicId}`

Обратите внимание на $ вместо %

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