我有一个JS客户端应用程序,作为其功能的一部分,每秒向服务器发送“心跳”。
“心跳”是简单的AJAX调用,如果服务器在X秒内没有获得任何心跳,它将拒绝来自客户端的任何未来请求。因此,客户端中的心跳引擎必须始终打开,并且在运行时不得停止。
问题是警报消息会停止心跳引擎(直到用户接受该消息)。如果用户在接受消息时等待超过X秒,则服务器拒绝再为客户端提供服务...
这是我的心跳功能:
function send_heartbeat_to_server() {
var successFunc = function(jsonObj) {
// do something
}
var errorFunc = function(statusCode, message) {
// do something
}
var additionalData = {'some-key' : 'some-value'};
corsAjaxCall("http://" + client_url + "/heartbeat", additionalData, successFunc, errorFunc);
// Calling the heartbeat engine again and again every second...
setTimeout(send_heartbeat_to_server, 1000);
}
// Calling the heartbeat engine for the first time
send_heartbeat_to_server();
如何在显示警告消息时阻止函数send_heartbeat_to_server()
停止?