Javascript NodeJS Http.get()连接数据
这在某种程度上是一个基本问题,但实际可用的nodeJS参考文献很少。为什么:该行:Javascript NodeJS Http.get()连接数据,javascript,node.js,Javascript,Node.js,这在某种程度上是一个基本问题,但实际可用的nodeJS参考文献很少。为什么:该行: data += data 及 从下面的代码中可以看出这一点吗?第一个生成选项对象中提供的文件的实际内容的两倍,而后一个生成奇怪的缓冲区输出 http.get(options, (response) => { response.on("data", (data) => { data += data; console.log(data); });
data += data
及
从下面的代码中可以看出这一点吗?第一个生成选项对象中提供的文件的实际内容的两倍,而后一个生成奇怪的缓冲区输出
http.get(options, (response) => {
response.on("data", (data) => {
data += data;
console.log(data);
});
response.on("error", () => {
console.log("An error has occured. Bummer.");
});
});
第一个(data+=data
)将data
附加到data
,并且由于+=
完成了从Buffer
到String
的隐式转换,因为您可以看到一个字符串作为console.log(data)的输出代码>
第二个(data=data
)只将data
分配给data
,因此它什么也不做。因此,数据
的类型不会改变,仍然是缓冲区
如果要将缓冲区的内容记录为字符串,可以使用:console.log(data.toString())
第一个(data+=data
)将data
附加到data
,并且由于+=/code>缓冲区到string
的隐式转换已经完成,因此,您将看到一个字符串作为console.log(数据)的输出代码>
第二个(data=data
)只将data
分配给data
,因此它什么也不做。因此,数据
的类型不会改变,仍然是缓冲区
如果要将缓冲区的内容记录为字符串,可以使用:console.log(data.toString())
在第一行中,将数据与自身连接起来,以便它输出两倍的内容
您希望执行以下操作:
var body = "";
request.on('data', function(chunk) {
body += chunk; // string conversion
}).on('end', function() {
console.log(body);
});
在第一行中,您将数据与自身连接起来,以便它输出两倍的内容
您希望执行以下操作:
var body = "";
request.on('data', function(chunk) {
body += chunk; // string conversion
}).on('end', function() {
console.log(body);
});
您正在将数据
添加到数据
。当然,它将输出两倍的内容。您正在将数据添加到数据中。当然,它将输出两倍的内容。