在执行http.get请求时,为什么response.on(" data",console.log)工作,response.on(" data",myarray.push)不起作用?

时间:2017-11-16 13:03:04

标签: javascript node.js

在通过learnyounode工作的过程中,我发现了一些我希望从更有经验的开发人员那里获得一些见解的东西。

考虑一下:

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函数。

0 个答案:

没有答案