Node.js回调函数



💛什么是回调函数

  • Node.js异步编程 体现在回调依托于回调来实现

  • 在完成任务后,就会调用回调函数

  • Node.js所有API都支持回调函数

  • 回调函数一般作为函数最后一个参数出现

  • 例如某API,使用如下:

    xxx(
    //第一个参数
    12345,  
    
    //第二个参数
    56789, 
    
    //回调函数
    function(){
    
    }
    /*
    回调函数也可写成
    () => {
    
    }
    */
    
    );
    



💛回调函数对异步编程的影响

通过两个例子来说明

💚阻塞代码示例

  1. 创建一个文件夹 ” demo1 “

  2. 在该文件夹下运行终端,执行 cnpm install fs,需要安装读取文件的依赖包

  3. 在 ” demo1 “ 文件夹下创建一个 ” a.txt “ 文件,内容如下:

    Hello
    
  4. 在 ” demo1 “ 文件夹下创建一个 ” main.js “ 文件,内容如下:

    1  var fs = require("fs");
    2  var data = fs.readFileSync('a.txt');
    3  console.log(data.toString());
    4  console.log("程序执行结束");
    

    在 fs.readFileSync(‘a.txt’) 函数读取完这个文件后才会执行后面的程序

  5. 在该文件夹下运行终端,执行 node main.js,结果如下:

    Hello
    程序执行结束
    

💚非阻塞代码示例

  1. 所有文件与 ”阻塞代码示例“ 一样,唯一不一样的地方是上面的 第2,3 行代码,替换后,” demo1 “ 文件夹 内容如下:

    1   var fs = require("fs");
    2   fs.readFile('a.txt',function(err,data){
    3     if(err){
    4       console.log(err);
    5     }
    6     console.log(data.toString());
    7   });
    8   console.log("程序执行结束");
    

    fs.readFile,该函数时在文件未完全读取时,即可同步执行在该方法后面的程序(如第8行),待读取完成时,就会执行 fs.readFile 方法 的第二个参数(回调函数)中的内容

  2. 在该文件夹下运行终端,执行 node main.js,结果如下:

    程序执行结束
    Hello
    



💛总结

  • 回调函数是什么?
  • 异步编程是什么?
  • 回调函数对异步编程的影响?

都知道了吗

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值