Javascript Socket.IO事件处理是否可能类似于AJAX调用事件处理声明?

Javascript Socket.IO事件处理是否可能类似于AJAX调用事件处理声明?,javascript,jquery,sockets,socket.io-1.0,Javascript,Jquery,Sockets,Socket.io 1.0,当我们在jquery中使用和ajax调用时,我们可以这样编写: $.ajax({ url: 'http://localhost/url', type: 'GET', dataType: "json", data: {name : "data"}, beforeSend : function(){ ... }, success:function(data) { ... }, er

当我们在jquery中使用和ajax调用时,我们可以这样编写:

$.ajax({
    url: 'http://localhost/url',
    type: 'GET',
    dataType: "json",          
    data: {name : "data"},
    beforeSend : function(){
    ...
    },
    success:function(data)
    {
    ...
    },  
    error : function(){
    ...
    }
}
});
此声明模板/样式是否也可以应用于socket.IO中的套接字事件处理

我们能做些什么吗

var socket = io.connect( );

socket.on({
    'connect' : function(){
     ...
     },
    'error' : function(){
    ...
    },
    'my custom event' : function(){
    ...
    }
}


谢谢

在socket.io文档中,它们显示您可以使用调用链来完成此操作:

socket.on(...)
      .on(...)
      .on(...)
如果您确实不想要它,您可以简单地编写一个模块来包装它:

yourNameSpace.Socket = (function(){
    var socket = null;

    this.config = function(){
        socket = io.connect("...");
    };

    this.on = function(events){
        for(var ev in events){
            if(typeof events == 'object' && events.hasOwnProperty(ev)){
                socket.on(ev, events[ev]);
            }
        }
    };

    this.getSocket = function(){
        return socket;
    };

    return this;
})();

请注意,它不是一个构造函数,而是一个模块。它的行为是单例的,因此如果需要多个套接字连接,只需将其转换为构造函数即可

您必须尝试一下,或者查看socket.io代码,看看它是否支持对象而不是事件字符串。我找不到任何表明这种或那种方式的文件。谢谢你的评论。这给了我一个新的想法。