【问题标题】:websocket not working while adding fuction over join method通过加入方法添加功能时websocket无法正常工作
【发布时间】:2019-07-03 12:59:21
【问题描述】:

我在学习 phoenix 编程时是新手,我正在学习 Stephen Graders udemy 课程。

在创建频道以创建评论部分时,它在第一个代码上运行良好,但是当我创建一个函数时,join 方法无法正常工作。

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;

它在我的控制台中给了我一个成功加入的响应。但是当我制作这样的功能时......

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 断开连接......

【问题讨论】:

    标签: websocket elixir phoenix-framework


    【解决方案1】:

    您可能需要使用 javascript 字符串插值运算符

    `comments:${topicId}`
    

    而不是

    `comments:%{topicId}`
    

    注意$ 而不是%

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-25
      • 2017-09-11
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-28
      相关资源
      最近更新 更多