簡體   English   中英

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

[英]How does node.js http.get() “on(end,callback())” event works?

我的問題是:“ 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嗎?

首先,

  • 建立連接時將調用function(res)
  • 當有大量數據(幾乎肯定會不止一次)時調用on('data'
  • 連接關閉時將調用on('end')
  • 發生某種錯誤時將調用on('error')

此代碼意味着直到數據傳入(以塊為單位),每次從data接收到響應時,響應都將附加到str ,當接收結束時,它將控制台str.lengthstr

您可以閱讀以下內容以更好地理解: colmsjo.com/130721_Streams_in_NodeJS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM