Node.js基础知识1.3

回调函数

  1. node.js异步编程的直接体现就是回调函数
  2. 极大的提高了Node.js的性能,处理大量并发请求
什么是回调函数?
//回调函数1
/*
    1.一开始,可以写成这种格式,便于我们理解
*/
function callFun(fun){
    fun();
};

function sayHello(){
    console.log("hello");
}

callFun(sayHello);

简单来说,回调函数就是传递给其他代码的函数实体或引用

  • 类型
  1. 同步回调函数
  2. 异步回调函数(Node.js中大量使用的就是它)

这里用代码展示一下

/*
    异步函数实例:
                                        ***非阻塞式***
    1.首先,调用fs模块(文件操作)
    2.eadFile()函数---读取文件内容,
       将内容写入另一个文件中并在控制台打印信息
*/


/ 文件模块
var file = require('fs');

// 读取文件内容
//  异步I/O操作(回调函数)
var read = file.readFile('readMe.txt','utf-8',function(err,data){
    file.writeFile('writeMe.txt',data,function(){
        console.log('data write finished');
    });
});
//写入文件内容
//var write = file.writeFileSync('writeMe',read);

console.log("Finished!");

在这里插入图片描述
在执行结果中,可以看出:在进行I/O操作时,它先执行后面的操作去了,最后在输出I/O结果

var fs = require("fs");

/*
   1.同步回调函数
                                               ***阻塞式***
   2.会一直等待读取完数据在执行下一步操作
   3.如果数据量庞大,执行效率是非常低的
*/
var data = fs.readFileSync('readMe.txt');

console.log(data.toString());
console.log("程序执行结束!");

这个实例,我们了解到回调函数的魅力。
也知道,阻塞与非阻塞的含义。

欢迎大家的批评指正,我们共同进步、共同学习~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值