如何发出错误以便可以在客户端的错误处理程序上捕获它?

2023-11-28

我需要在连接处理程序中发出错误并在客户端捕获它,如下所示:

// 服务器端

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'));在服务器端总是抛出错误并导致 Nodejs 服务器崩溃这个问题

您能帮助如何发出错误并在客户端正确处理吗?


server

socket.emit('my error', 'Some error happened');

client

socket.on('my error', function (text) {
   console.log(text);
});

error不幸的是,这是一个保留名称。

如果您需要在客户端捕获它,请使用其他事件名称来通知客户端

// server
socket.on("error", function() {
    socket.emit("my error", "Something bad happened!");
});

// client
socket.on('my error', function (text) {
   console.log(text);
});    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何发出错误以便可以在客户端的错误处理程序上捕获它? 的相关文章

随机推荐