dor*_*x45 7 dns node.js socket.io node.js-domains
我刚刚开始在nodejs中使用域来进行错误管理.
当我将它们与socket.io一起使用时,我无法理解.
这是我的示例代码:
io.sockets.on('connection', function cb1(socket){
socket.on('event', function cb2(data){
});
});
Run Code Online (Sandbox Code Playgroud)
我开始将所有代码都放在"run"方法中
domain.run(function(){
io.sockets.on('connection', function cb1(socket){
socket.on('event', function cb2(data){
});
});
});
Run Code Online (Sandbox Code Playgroud)
但如果在cb1或cb2中发生错误,则不会处理!
然后我在che cb1上使用了bind methon
domain.run(function(){
io.sockets.on('connection', domain.bind(function cb1(socket){
socket.on('event', function cb2(data){
});
}));
});
Run Code Online (Sandbox Code Playgroud)
但如果在cb2中发生错误则不会处理!
我的问题是:我是否必须在每次回调中添加一个"绑定"?在服务器和所需的文件中?
当我开始研究领域时,所有教程都将它们定义为在一个点上处理错误的最佳解决方案!
我错过了什么吗?
小智 0
如果您在域范围内创建套接字,则该套接字对象中引发错误的所有事件都将被域捕获。
domain.run(function(){
var io = require('socket.io').listen(80);
io.sockets.on('connection', function cb1(socket){
socket.on('event', function cb2(data){
});
}));
});
Run Code Online (Sandbox Code Playgroud)
尝试这个。
| 归档时间: |
|
| 查看次数: |
4761 次 |
| 最近记录: |