我有一种方法来检查通知并执行js.erb
作为回报。
触发此方法的JS如下所示:
setInterval(function () {
$.ajax({
url: "http://localhost:3000/checkNotification",
type: "GET"
});
}, 15000);
效果很好,但我担心该网站投入生产后的性能。
这会导致性能问题吗?
如果是,还有其他解决方法吗?
最佳答案
我的一个建议是利用ajax的回调函数,这样,如果请求花费的时间比预期的长,它将不会再次触发,直到最后一个请求完成
function checkNotifications(){
$.ajax({
url: "http://localhost:3000/checkNotification",
type: "GET",
success: function(){
setTimout(checkNotification, 15000);
}
});
};
如果由于某种原因服务器响应500错误,也会阻止该功能继续