我的浏览器页面变慢或挂起,或者您可以在一小时或两小时之后说不响应。实际上我的要求是使用socket.io来发送来自服务器的通知。
我已经设置了一个带有Express,mysql,mysql-event redis和socket.io的NodeJS,无论何处将任何记录插入数据库,都必须将通知发送到客户端应用程序。在客户端应用程序上,我每次收到通知时都会创建li元素,并删除每个第12个元素。
记录以非常快的速度插入表格,如每秒30条记录。
一切正常,但在某段时间浏览器页面显示通知变慢或挂起有时google chrome说内存耗尽并杀死页面。
我认为它存在浏览器,内存泄漏和客户端脚本而不是NodeJs Server的问题。
请建议我如何优化客户端应用程序,因为我正在添加30 li DOM元素并删除每秒一次。
代码
socket.on('connect', function(){
console.log("Client Connected.");
socket.on("my-channel", function(msg){
if(msg == null){
console.log("MSG is Null");
return;
}
$('ul.add_elem').prepend('<li'+clr+'>'+data+'</li>');
$('ul.add_elem li').eq(0).animate({
'opacity':1,
'max-width':'350px',
'padding-left':'10px',
'padding-right':'40px'
}, 200);
$('ul.add_elem li').eq(11).fadeOut(100);
$('ul.add_elem li').eq(12).remove();
// adding notification by creating DOM LI and removing 12th li Element as shown above code.
msg = null;
});
});