Javascript 如何考虑Node.js中的异步回调操作

Javascript 如何考虑Node.js中的异步回调操作,javascript,node.js,Javascript,Node.js,LearnyYouNode是一个基于命令行的javascript节点边做边学和测试结果教程 在第七个教程中,我们的想法是使用node.js的http的get函数来创建http客户机 get函数有两个参数 网址 异步作业的回调函数 所以我搜索了互联网的表面,寻找一种持续接受数据直到操作结束的方法。过了一段时间,我发现每个答案都非常符合 function callback(res){ res.on("data",function (data) { console.

LearnyYouNode是一个基于命令行的javascript节点边做边学和测试结果教程

在第七个教程中,我们的想法是使用node.js的http的get函数来创建http客户机

get函数有两个参数

  • 网址
  • 异步作业的回调函数
  • 所以我搜索了互联网的表面,寻找一种持续接受数据直到操作结束的方法。过了一段时间,我发现每个答案都非常符合

          function callback(res){
    
               res.on("data",function (data) { console.log(data.toString());})
       }
    
    
      http.get(url,callback)
    
    我想,如果内置测试失败,可能会给我一个线索,让我知道如何进行多个调用,但奇怪的是,它通过了多个调用测试。因此我认为测试多次调用了文件和函数。。但经过几次尝试,我意识到情况并非如此


    所以我的问题是:异步调用背后到底发生了什么?该机制如何可能多次调用它?我还能期待什么惊喜呢?对我来说,这是把黑盒子的想法提高到一个新的水平,我把它放在与列表单元格ATM有关的考虑上。

    < P>我认为关键是要理解:<代码> RES/COD>是一个事件发射器(使消息更加准确),那么该函数叫回调函数是什么?(仅在调用http.get()时创建的httpClientRequest对象的
    响应
    事件上发生一次)是将事件侦听器连接到res的
    数据
    事件。无需详细说明,为了优化数据流,当您从网络接收到一些数据字节时,缓冲区会被填满,当缓冲区已满时,会触发事件“data”,以便您可以处理传入的数据块。因此,将执行您设置为
    数据
    事件的回调对来自网络的每一块数据进行编辑

    什么是“LearnyYouAnode?”你用的是什么编程语言?@RobertHarvey哦,我想添加这些标记,但后来我发现这与node.JS的异步特性比node.JS更相关。这种逻辑不重要吗?事实上,使用的技术和编程语言更重要。当然,没有什么可以阻止
    get>代码>多次调用“<代码>回调> /代码>函数。“我把它放在与列表单元格ATM有关的考虑上。”-嗯?如果你已经理解了单子,并且需要一元异步动作,那么你应该查看承诺(保证处理程序只被调用一次)。