我一直在调试我在 socket.io 上遇到的一些问题,并偶然发现了这个问题(lib/transport.js
第 345 行):
var current = this.manager.transports[this.id];
然而
typeof this.manager.transports = [Function]
声明如下(lib/manager.js
第 928 行):
Manager.prototype.transports = function (data) {
//some stuff, returns an array
}
有人可以解释这里发生了什么吗?是否缺少一些括号transports()[this.id]
?
谢谢!
更新 这是函数的代码
Manager.prototype.transports = function (data) {
var transp = this.get('transports')
, ret = [];
for (var i = 0, l = transp.length; i < l; i++) {
var transport = transp[i];
if (transport) {
if (!transport.checkClient || transport.checkClient(data)) {
ret.push(transport);
}
}
}
return ret;
};