node.js http.get()“on(end,callback())”事件是如何工作的?

时间:2017-06-19 10:27:23

标签: javascript node.js

我的问题是:“http.get()”on。(“end”,callback)事件是如何工作的?

代码执行的层次结构是什么?

我问,因为我有这个代码

var http = require("http")
var str = ""

http.get(process.argv[2],function(res){
    res.setEncoding("utf8")
    res.on("data",function(data){
        str+= data

    })

    res.on("end",function(){
        console.log(str.length)
        console.log(str)


    })

})

on.end部分每次调用时都会打印str.length吗?

1 个答案:

答案 0 :(得分:2)

首先,

    建立连接时会调用
  • function(res)
  • on('数据')在有大量数据时被调用(这几乎肯定会不止一次)
  • 连接关闭时,
  • on(' end')被调用。
  • 当出现某种错误时,会调用
  • on('错误')

此代码表示在数据传入(以块为单位)之前,每次从str收到str.length时都会附加响应,并且当接收结束时,它将控制{{ 1}}和str

您可以阅读此内容以便更好地理解:colmsjo.com/130721_Streams_in_NodeJS