2013-03-30 30 views
15

Node'nin http modülünü kullanan HTTP isteğini yapıyorum, ancak data numaralı telefonda, geri gönderilen yığın tam istek yanıtını içeriyor gibi görünmüyor. İşte benim kodum:Node.js HTTP isteği yanıtının tamamını iade etmiyor

var req = http.request(httpOptions, function(res) { 
    res.setEncoding('utf8'); 
}); 

req.on('response', function (response) { 
    response.on('data', function (chunk) { 
     console.log(chunk); 
     callback(null, JSON.parse(chunk)); 
    }); 
}); 

req.on('error', function(e) { 
    callback(e); 
    //callback(e.message); 
}); 

req.end(); 

Talebin sonlanmasından önce tam çıkış için beklemenin bir yolu var mı? Yanlış bir şey mi yapıyorum? Teşekkürler!

+0

değişken 'geliyor response' vermedi dinleyeceği? –

+0

Sanırım bir res.end(); ' –

+0

Sanırım editörüm yanlışlıkla otomatik olarak düzeltildi, soru için düzeltdim (editörümde sorun yok). – jpmonette

cevap

41

da 'end' olayı

req.on('response', function (response) { 

    var data = ""; 

    response.on('data', function (chunk) { 
     console.log(chunk); 
     data += chunk; 
    }); 

    response.on('end', function(){ 
     callback(data); 
    }) 

}); 
+0

Teşekkürler, tamamen çalışıyoruz :) – jpmonette

+2

bunu duyduğuma sevindim :) – Andbdrew