我需要这样的东西:
webSocketServer.on('connection', function(webSocket) {
function foo() {
//do stuff
}
});
webSocketServer.broadcast = function (data) {
foo();
};
但是当新客户端连接时,这会一遍又一遍地定义函数,我不想在.broadcast中进行循环,因为最多可以有100k +客户端。我虽然以某种方式发光,但无法解决逻辑......我该怎么办?
答案 0 :(得分:1)
如果您不需要在foo
的定义中捕获变量,那么您可以在.on('connection'
...块之外定义它。
如果您确实需要在foo
中捕获变量,那么您需要按照它的方式进行捕获。根据{{1}}的复杂程度,这可能需要9-10毫秒来完成100,000次,因此对于许多用例来说应该没问题。
此外,使用foo
语法定义函数不会提升函数定义,因此您无法在其定义的函数范围之外访问它。