Rumah  >  Soal Jawab  >  teks badan

javascript - Masalah penggunaan modul sambungan NodeJS

Saya baru mengenal nodejs Terdapat sekeping kod dalam NodeJS yang menakjubkan, yang menggunakan perisian tengah untuk merealisasikan pencetakan konsol apabila masa permintaan kod terlalu lama

.
//request-time.js
module.exports = function(opts){
    var time = opts.time||100;
    return function(req,res,next){
        var timer = setTimeout(function(){
            console.log(req.method + " , " + req.url + " , too long!");
        },time);

        var end = res.end;
        res.end = function(chunk,encoding){
            res.end = end;                                        //
            res.end(chunk,encoding);                        //直接end(chunk,encoding)会出错
            clearTimeout(timer);
        };
        next(); 
    }
}

Bahagian komen adalah soalan saya, saya rasa ada sesuatu tentang ini pada akhirnya

漂亮男人漂亮男人2688 hari yang lalu955

membalas semua(1)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-07-03 11:44:55

    Istilah "penutupan" berasal daripada gabungan blok kod yang akan dilaksanakan (kerana pembolehubah bebas terkandung dalam blok, pembolehubah bebas ini dan objek yang dirujuknya tidak dilepaskan) dan pengikatan yang disediakan untuk pembolehubah bebas . Persekitaran pengkomputeran (skop) ---Baidu Encyclopedia

    Mari kita bincang tentang konsep penutupan dahulu

    Pemahaman anda betul
    ,
    Ini adalah proses pengesahan, sebabnya jika anda memanggil end terus, hujung ini ditinggalkan secara paksa kerana penutupan ini, jadi ia secara automatik akan mengikat persekitaran komputer, jadi ini adalah nanti Its this is Window, jadi panggilan tamat secara langsung akan menyebabkan ralat

    balas
    0
  • Batalbalas