nodejs buffer的奇怪錯誤

代碼如下:
    var agentReq = http.request(options, function (agentRes) {
        var chunks = [];
        if (agentRes.statusCode !== 200) {
            failcb('[util] Failed to request url:' + url);
            return;
        }
        var dataSize = 0;
        //agentRes.setEncoding('binary'); //  <--- 加上這行就會crash
        agentRes.on('data', function (chunk) {
            chunks.push(chunk);
            dataSize += chunk.length;
        });
        agentRes.on('end', function () {
            var fullData = Buffer.concat(chunks, dataSize);
            fullData = aesDec(fullData);            
            fullData = jsonDec(fullData);
            successcb(fullData);
        });
	});
	agentReq.on('error', function (e) {
		failcb(e.message);
    });
	if (dataObj) {
		var sendData = jsonEnc(dataObj);
		sendData = aesEnc(sendData);
		agentReq.write(sendData);
	}
	agentReq.end();

此function在第2次call的時候拋出異常。

報錯信息爲buf.copy 

                          ^

,TypeError: Object (此處省略一大堆亂碼)

但只要將標註的那行註釋掉就正常了。問題原因不明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章