各位大佬你們好。我今天發(fā)現(xiàn)有些問題。不知道如何優(yōu)雅的解決
今天用戶反映出現(xiàn)這個錯誤
上圖的錯誤是因為網(wǎng)絡(luò)掉線。然后重連。但仍然沒有來網(wǎng)。導(dǎo)致出現(xiàn)這個錯誤
當(dāng)網(wǎng)來了以后,網(wǎng)站會重新鏈接。然后高頻率的出現(xiàn)這個錯誤在控制臺。(可正常發(fā)送消息),但是居然會影響到復(fù)制粘貼的功能(vue),我也不知道為什么會影響。正因為影響后我才發(fā)帖提問,還請各位大佬賜教。謝謝
只有當(dāng)重新刷新才能夠狀態(tài)完好。但是用戶肯定不知道。也許她不會刷新瀏覽器,會從網(wǎng)頁退出,再登錄。但仍然錯誤會有。
我的問題1:如何網(wǎng)絡(luò)斷開的時候,如果鏈接失敗,可以不用再控制臺展示
問題2:為什么在我斷網(wǎng)連接成功后(可發(fā)送消息,沒刷新瀏覽器)會高頻率出現(xiàn)WebSocket is already in CLOSING or CLOSED state 這個錯誤
再次請求各位大佬們賜教,謝謝您
你的代碼有問題,瀏覽器提示是正常的,不提示才不正常。你的代碼邏輯有問題,關(guān)閉之后還發(fā)送。貼代碼
@7416:不要感覺,要是感覺正常就不會報錯了。網(wǎng)絡(luò)都斷開了,你還發(fā)送,當(dāng)然會報錯,你定時都沒判斷一下有沒有斷網(wǎng)
@7416:還是補充一下吧。定時器在 send 之前判斷準(zhǔn)備狀態(tài),你完全沒有判斷就直接發(fā)送了,報錯難免。像你 close 那樣寫,再連不上網(wǎng),然后呢?就徹底死掉了,close 可不會重復(fù)觸發(fā)。另外,你這定時器只用一次又 clear,何必呢?
@7304:謝謝賜教。已經(jīng)修正。 定時器一開始我是沒有clear。 看人家源碼。人家是這么寫的,感覺應(yīng)該穩(wěn)定,不太相信自己。總感覺這么寫穩(wěn)定,已經(jīng)取消clear了