Geschäftsanforderungen, mehrere geplante Aufgaben werden wie folgt in das JS-Skript geschrieben:
setTimeout(cron, 120000);//定时上传记录信息
setTimeout(start_init, 350000);
function cron() {
$.post('cron.php', {state: 'cron'}, function(data) { });
setTimeout(cron, 120000);
}
function start_init() {
$.post('start_init.php', {state: 'start_init'}, function(data) { });
setTimeout(start_init, 350000);
}
/**
* 这段是逻辑处理
**/
var clear_t;
document.onkeydown = function(e){
var ev = document.all ? window.event : e;
if(ev.keyCode==13) {
clearTimeout(clear_t);
$.post('ajax.php', send_data, function(data) {
var jsonRes = JSON.parse(data);
if(jsonRes.status == 202) {
/**业务代码块**/
}else if(jsonRes.status == 200 || jsonRes.status == 2000) {
/**业务代码块**/
}else {
/**业务代码块**/
}
clear_t = setTimeout(clear_content, 5000);
}
}
}
/**
* 更改页面部分信息的方法
*/
function clear_content() {
$("#username").text('******');
$("#useroperations").text('******');
$("#last_balance").text(0);
$("#consum").text(0);
$("#now_balance").text(0);
local_soc.emit('cum_num', 0);
}
Wie im obigen Code gezeigt (代码最上面的两个定时器没有什么特别意义,贴出来是为了说明这个脚本中定时器很多
),js
脚本中用到了很多的定时器,那么这些定时器,异步向服务器发送请求的就不说了,就是更改页面部分信息clear_content
Hier in der Methode ist es manchmal leicht, zu fragmentieren, und dieser Code wird von Zeit zu Zeit nicht ausgeführt. Wird dies durch den Konflikt mehrerer Timer verursacht? Wie kann man ein solches Problem vermeiden? ? Oder wie kann man diesen Block verbessern?
wird einmal ausgeführt. 3~5s
https://zhuanlan.zhihu.com/p/...