关于useWebsocket的思考
今天来讲讲useWebsocket的bug
关于vueuse中useWebsocket的问题
发现bug背景
由于项目比较复杂,websockt不能一直连着,而且当某个字段变了之后,需要将原来的关闭并且新开一个socket。然后我发现如果url改变了,会有一条socket一直连着,也不能关闭也不能操作。
结论
经过我的多次测试以及查看源代码,我发现应该是 autoReconnect: true
,所以在url改变时他会触发重新链接,但是由于url变了,所以那条socket会一直连着,无法关闭。
我已经向vueuse提交了issues,不知道anft大神会不会看到我提交的bug并修复,有点小兴奋。
最后附上issues地址: useWebsocket
2024.1.30 最新结论
在设置 immediate
为 false
并且 autoReconnect
为 true
之后,如果url是ref或computed的,在改变之后不会先将之前的ws先关闭再开启新的ws,这就导致这样设置之后ws会越来越多,我提交了pr修复此bug,但至今仍未合并。可以看下我是如何修复的
1 |
|
原本的代码:
1 |
|
附上pr地址: useWebsocket
关于useWebsocket的思考
https://garlandqian.github.io/2023/09/01/vueuse/关于useWebsocket的bug/