gpt4 book ai didi

javascript - 如何防止应用程序继续,直到 Javascript 中的值或条件准备就绪

转载 作者:行者123 更新时间:2023-11-30 11:05:00 26 4
gpt4 key购买 nike

<分区>

我对 Javascript 还是个新手,我正在尝试使用 WebSockets。我有一个应用程序的工作框架,但它仍然有我需要解决的问题。

我如何向应用程序的其余部分发出网络套接字已准备好使用的信号?

socket = new WebSocket( 'wss://' + window.location.host + '/ws/manager/' );
while (socket.readyState != 1){
// wait loop
}

创建套接字后,它会立即返回,但尚未准备好进行通信。我的第一个想法是我只是在检查状态时循环,这是我当前的解决方案,但这只会消耗 CPU 并使应用程序无响应。引入延迟会解决一些响应问题,但它有其自身的问题,如下所示:What is the JavaScript version of sleep()?例如 。我也明白循环等待是不行的。

我看到的另一种解决方案是使用setTimeout()和一个回调继续执行,但是我觉得这样对代码的读写有很大的干扰,可能还是不能完全解决以更好的方式解决问题。

这将是一个单页应用程序,由于使用 ajax 或传统 HTTP 所需的绝对连接数,服务器通信将几乎完全使用 Web 套接字完成。总的来说,我真的不介意应用程序会变得无响应,因为如果没有网络套接字,它就毫无用处。

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