Keperluan perniagaan, pelbagai tugas berjadual ditulis dalam skrip js, seperti berikut:
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);
}
Seperti yang ditunjukkan dalam kod di atas (代码最上面的两个定时器没有什么特别意义,贴出来是为了说明这个脚本中定时器很多
),js
脚本中用到了很多的定时器,那么这些定时器,异步向服务器发送请求的就不说了,就是更改页面部分信息clear_content
Di sini dalam kaedah, kadangkala ia mudah untuk dipecahkan, dan kod ini tidak akan dilaksanakan dari semasa ke semasa. Adakah ini disebabkan oleh konflik berbilang pemasa? Jadi bagaimana untuk mengelakkan masalah sedemikian ? Atau Bagaimanakah saya boleh menambah baik blok kod ini?
akan dilaksanakan sekali. 3~5s
https://zhuanlan.zhihu.com/p/...