gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 03:09:10 25 4
gpt4 key购买 nike

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

非常感谢您的帮助。

最佳答案

旧包装器的很多功能在 channel v2 中不再直接支持

streamaction的概念。

您可以自己执行此操作(在您的消费者和 js 代码中)。

或者有一个lib(免责声明我是作者)https://github.com/hishnash/djangochannelsrestframeworkhttps://github.com/hishnash/channelsmultiplexer 结合使用时提供来自channelsV1的action + stream概念

你也可以使用这个js库https://github.com/theY4Kman/dcrf-client旁边。

关于javascript - 如何使用 django-channels 2 处理消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60315835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com