如何使用django-channels 2处理消息?

问题描述 投票:0回答:1

在我的Django项目中,我创建了一个通知应用,该应用可以检测何时保存了特定模型,并向所有客户端推送通知(基于https://arunrocks.com/understanding-django-channels/https://github.com/arocks/channels-example)。我已经将代码更新为Channels 2,现在javascript包装器出现了问题,该包装器已在django-channels 2(How to locate websocketbridge.js in Django using channels websocket?

中删除

在获得用于处理消息的脚本之前:

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const webSocketBridge = new channels.WebSocketBridge();
    const nl = document.querySelector("#notifylist");

    webSocketBridge.connect('/notifications/');
    webSocketBridge.listen(function(action, stream) {
      console.log("RESPONSE:", action);
      if(action.event == "New User") {
        var el = document.createElement("li");
        el.innerHTML = action.text;
        nl.appendChild(el);
      }
    })
  })
</script>

此脚本不再起作用。他们建议用ReconnectingWebSocket.js替换WebSocketBridge.js,但我不知道如何才能适应以前的脚本才能使用ReconnectingWebSocket.js。

有人使用ReconnectingWebSocket更新了他/她的代码吗?如果是这样,请提供一个例子。

非常感谢您的帮助。

javascript django django-channels
1个回答
0
投票
[v2频道中不再直接支持旧包装器的很多功能
© www.soinside.com 2019 - 2024. All rights reserved.