javascript - Terdapat terlalu banyak pemasa dalam skrip js, bagaimana untuk menyelesaikan konflik?
迷茫
迷茫 2017-06-06 09:53:37
0
1
1047

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_contentDi 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?

Dengan cara ini, nota khas adalah untuk menangkap acara masuk tetikus, iaitu, blok kod bawah dilaksanakan dengan sangat kerap, hampir

akan dilaksanakan sekali. 3~5s

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(1)
仅有的幸福

https://zhuanlan.zhihu.com/p/...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan