我在 node.js 上运行 socket.io,在 Apache 网站上运行 socket.io 客户端。如果我不启动 node.js 服务器并加载客户端页面,则会触发错误事件并显示一条空错误消息,这会导致以下控制台输出:
GET http://example.com:1337/socket.io/1/?t=1359731838906 socket.io.js:1659
Socket.handshake socket.io.js:1659
Socket.connect socket.io.js:1699
Socket socket.io.js:1551
io.connect socket.io.js:94
(anonymous function) general.js:7
(anonymous function)
我该怎么做才能阻止将此错误写入控制台?
最佳答案
你不能“捕获”这些错误,因为它们没有出现在控制台中,但你仍然可以通过监听 'connect_error'
, 'connect_failed'
和 'disconnect'
,然后直接处理它们或将它们重定向到自定义函数,如 handleErrors()
:
const socket = io.connect(url, { reconnection: false })
socket.on('update', data => console.log(data))
socket.on('connect_error', err => handleErrors(err))
socket.on('connect_failed', err => handleErrors(err))
socket.on('disconnect', err => handleErrors(err))
关于javascript - 如何捕获 socket.io 错误并防止它们出现在控制台中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14649590/