我有一个命名空间对象,在该对象上定义了一些函数。其中一个函数用于创建到远程服务器的 websocket 会话。
ns.Session = function(url, config, callback){
var ws = new WebSocket(url);
ws.onmessage = function (e){
if(login(e.data)){
// This is the point at which I need to pass back the session object to callback
callback(session):
}
}
....
}
在 Javascript 中,据我所知,如果有人调用此函数,ns.Session(....)
则this
对象将是 ns. 那么,如何让“会话”的实例发送到回调。
arguments.callee
据我所知,已弃用。
我这样做的全部原因是在服务器确认登录之前会话不被认为是“可用的”,所以我不想在实际连接和登录之前过早返回函数对象。因此使用的回调。如果有更好的方法来实现这一点,我也对此持开放态度。
Session 还有很多其他的内部函数,比如addHandler
,sendData
等等,为了简洁起见,我没有在这里展示。