【发布时间】:2016-02-25 14:51:13
【问题描述】:
我需要在我的连接处理程序中发出错误并在客户端捕获它,如下所示:
// 服务器端
var http = require('http');
var sio = require('socket.io');
var app = require('express')();
var server = require('http').createServer(app).listen(3000, function () {
console.log('Server listening on 3000 port');
});
var io = sio.listen(server);
io.on('connection', function (socket) {
// Do something and emit error...
socket.emit('error', new Error('Some error happened'));
});
// 客户端
var socket = io.connect(window.location.origin);
socket.on('error', function () {
console.log('Never happens...');
});
但问题是服务器端的socket.emit('error', new Error('Some error happend')); 总是抛出错误并且由于this issue 而导致nodejs 服务器崩溃
您能否帮助如何在客户端正确发出错误和处理?
【问题讨论】:
-
"error" 好像是保留的,你为什么不能直接用另一个名字,比如"errorEvent"?
-
@cviejo 我可以,但我需要在错误情况下处理这种情况。
errorEvent不会触发错误事件处理程序 -
啊,我明白了。下面的问题也被编辑以回答这个问题
标签: javascript node.js express socket.io socket.io-1.0