Javascript Node.js MySQL ETIMEDOUT错误

Javascript Node.js MySQL ETIMEDOUT错误,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,在运行节点很长时间后,我得到了这个错误。 我的程序本身运行得非常好。 这到底是什么意思?我找不到关于它的任何东西。 最重要的是如何预防它 Error: read ETIMEDOUT at errnoException (net.js:901:11) at TCP.onread (net.js:556:19) -------------------- at Query.Sequence (/nodejs/node_modules/mysql/lib/protocol/sequences/Seque

在运行节点很长时间后,我得到了这个错误。 我的程序本身运行得非常好。 这到底是什么意思?我找不到关于它的任何东西。 最重要的是如何预防它

Error: read ETIMEDOUT
at errnoException (net.js:901:11)
at TCP.onread (net.js:556:19)
--------------------
at Query.Sequence (/nodejs/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20)
at new Query (/nodejs/node_modules/mysql/lib/protocol/sequences/Query.js:12:12)
at Function.Connection.createQuery (/nodejs/node_modules/mysql/lib/Connection.js:48:10)
at Connection.query (/nodejs/node_modules/mysql/lib/Connection.js:100:26)
at Socket.<anonymous> (/nodejs/server.js:23:12)
at Socket.EventEmitter.emit [as $emit] (events.js:95:17)
at SocketNamespace.handlePacket (/nodejs/node_modules/socket.io/lib/namespace.js:335:22)
at Manager.onClientMessage (/nodejs/node_modules/socket.io/lib/manager.js:488:38)
at WebSocket.Transport.onMessage (/nodejs/node_modules/socket.io/lib/transport.js:387:20)
at Parser.<anonymous> (/nodejs/node_modules/socket.io/lib/transports/websocket/hybi-16.js:39:10)

TCP数据包在从MySQL服务器发送的途中丢失,或者服务器崩溃或太忙。节点mysql正在等待服务器(TCP.onread)的响应,但时间太长,所以它感到无聊,停止了等待,并告诉您它超时(ETIMEDOUT)。解决方案是在发生这种情况时重新连接并重新发出查询。发生这种情况时如何捕获它?回调的第一个参数是
err
。如果它存在,则存在错误。如果
err.code=='ETIMEDOUT'
那么就有一个超时。我已经知道了,我想这个错误是从其他地方抛出的。
database.query("SELECT * FROM `...