cari

Rumah  >  Soal Jawab  >  teks badan

undian ajax menyebabkan memori pelayar meningkat setiap kali

Tinjauan Ajax menyebabkan memori penyemak imbas meningkat setiap kali saya juga menyemak maklumat yang berkaitan dan ia disebut dalam bahagian lengkap

Kod ajax penuh:

    var Timer_getlastLog,ajax_flag;
    Timer_getlastLog = setInterval(function () {
        if(ajax_flag==true){
            getLastLog(lastMsgId);
        }
    }, 1000);
    function getLastLog(msgid) {
        ajax_flag = false;
        $.ajax({
            type: 'post',
            dataType: 'json', 
            url: 'url.html', 
            data: {msgid: msgid}, 
            success: function (a) {
                //此处省略其他的业务逻辑
                lastMsgId=a.msgid;
                ajax_flag = true;
            },
         
        });
    }    

Macam ni, tapi memori overhead masih bertambah,

Sekarang saya hampir menjalankan 2 Gs. Tidak tahu apa-apa penyelesaian? Abaikan soket buat masa ini.

Tambahan:
1 Di bahagian pelayan, saya menggunakan rangka kerja TP, dan kemudian saya mempertimbangkan untuk memberi seketika (benar) dan kemudian tidur (1); tetapi ini menyebabkan overhed memori apache meningkat dengan ketara selepas menyegarkan berulang kali halaman, mengakibatkan Disebabkan kesesakan, halaman tidak boleh dimuatkan dan dipaparkan seperti biasa. Ini juga menyebabkan saya sakit kepala.

2. Saya rujuk http://blog.csdn.net/mlx212/a... Artikel ini membuat pengubahsuaian perniagaan kepada kod ini dan tidak menjejaskan logik.

我想大声告诉你我想大声告诉你2783 hari yang lalu881

membalas semua(4)saya akan balas

  • 大家讲道理

    大家讲道理2017-05-24 11:35:53

    Penyoal, anda tidak mengundi, ia adalah rekursi tak terhingga, yang akan merosakkan mesin mempunyai selang tetap, setInterval.

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-05-24 11:35:53

    Terdapat masalah dengan kod anda Polling hanya memberi tekanan pada pelayan Antara muka akses bahagian hadapan adalah sama seperti biasa

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-24 11:35:53

    Melihat pautan yang anda berikan kepada saya, tanpa mengira kesilapan atau kejayaan, ia akan dilaksanakan sendiri.

    balas
    0
  • PHPz

    PHPz2017-05-24 11:35:53

    Tidak perlu mengulangi, gunakan setInterval

    balas
    0
  • Batalbalas