gpt4 book ai didi

dart - 如何从 Controller 检测Websocket连接的打开

转载 作者:行者123 更新时间:2023-12-03 03:28:21 24 4
gpt4 key购买 nike

我有一个 Controller (MyController),它在初始化时从websocket连接(wsService)请求数据。

检测并等待Websocket连接已打开然后发出来自 Controller 的请求的最佳方法是什么?

现在,我正在使用以下解决方案:

my_controller.dart:

MyController(wsService ws){
// when refresh() in wsService is called,
// the call is redirected to MyController's load()
ws.refresh = load;
}

load(){
ws.send(request);
}

ws_service.dart:

onConnect(){ //this is called when websocket connection is opened
refresh(); //this calls MyController's load()
}

最佳答案

我仍然认为您应该执行类似的操作,而不是使Angular轮询状态。

MyController(wsService ws){
if(ws.readyState == WebSocket.OPEN) {
load();
} else {
ws.onOpen.first.then((_) => load());
}
}

load(){
ws.send(request);
}

关于dart - 如何从 Controller 检测Websocket连接的打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22435976/

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