Ben*_*itD 5 javascript performance node.js sockjs
我想向所有连接到我的 sockjs-node 服务器的客户端广播消息。
现在我有以下代码
var clients = {};
var echo = sockjs.createServer();
echo.on('connection', function(conn) {
clients[conn.id] = conn;
for(key in clients) {
if(clients.hasOwnProperty(key)) {
clients[key].write('test');
}
}
conn.on('close', function() {
delete clients[conn.id];
});
});
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来做到这一点?
也许
var clients = [];
var echo = sockjs.createServer();
echo.on('connection', function(conn) {
var index = clients.push(conn);
var lenght = clients.length;
while(length--) {
if(clients[length] !== undefined) {
clients[length].write('test');
}
}
conn.on('close', function() {
delete clients[index];
});
});
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 0
1.)for...in 比常规的 for 或 while 慢,但相差不大
2.)从对象中获取值也可能比从数组中获取值慢(因为您需要从字符串中获取地址,但您可以立即从数组索引计算地址),也不会太多
所以第二个更快。
| 归档时间: |
|
| 查看次数: |
2024 次 |
| 最近记录: |