考虑一下:
var http = require("http")
http.get(process.argv[2], (response) => {
var collectData = []
response.on("data", collectData.push) // does not work
response.on("data", console.log) // this works
// this works and is what I am using right now
response.on("data", (data) => {
collectData.push(data)
})
}).on("error", console.error)
如您所见,当一个response.on事件发生时,它将数据传递给console.log函数,但不传递给Array.push函数。