在我的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更新了他/她的代码吗?如果是这样,请提供一个例子。
非常感谢您的帮助。