Node.js 如何向nodejs中的调用者通知连接错误?
我正在使用Node.js 如何向nodejs中的调用者通知连接错误?,node.js,Node.js,我正在使用nodejs进行websocket连接()。我定义了一个connect方法来向调用者返回Promise。代码如下: connect = () => { return new Promise((resolve, reject) => { try { this.ws = new WebSocket(this.url, {}); this.ws.on("open", () => { console.lo
nodejs
进行websocket连接()。我定义了一个connect
方法来向调用者返回Promise
。代码如下:
connect = () => {
return new Promise((resolve, reject) => {
try {
this.ws = new WebSocket(this.url, {});
this.ws.on("open", () => {
console.log("connected:", this.ws.readyState);
resolve();
});
this.ws.on("close", function close() {
console.log("disconnected");
// how to throw error exception here?
});
} catch (err) {
reject(err);
}
});
};
如果连接失败,调用方将调用此方法并尝试重新连接
connect().then(() => {
...
}).catch(() => {
// do reconnect
})
如果第一次连接失败,它可以正常工作。但是如果连接断开怎么办。如何让来电者知道发生了错误
我能想到的一个解决方案是创建一个
事件发射器
,通知调用方我们需要重新连接。但是,如果代码在我的项目中的许多地方使用,我必须将事件发射器
传递到许多地方。有更好的方法吗?我不清楚您使用的是哪个npm包,但如果是ws,您可以参考其自述文件的这一部分,并在必要时根据您的用例进行调整: