node初学(二)

关于node初学,都是我通过看网上很多课程视频,有自己总结的还有老师总结的。这些文章算是我的一个学习笔记吧。(学习上永远都是小白,有问题欢迎大家指出)

这篇主要就分享下node的同步操作和异步操作,以及通过加载file模块这个例子,来自直观的看看二者之间的区别。

1、node的回调函数:如果一个方法的参数是另一个函数的名字,则这个参数本身就要回调函数,这个函数就是回调函数

1)、同步操作文件(阻塞I/O)

 

   同步就是一个人干完这个再干那个……

   所以存在排队 阻塞

    一个服务员服务一、两个顾客

 

2)、异步操作文件(非阻塞I/O)

 

   一个人开出一条路,然后开始做这条路上的所有事情,一口气一起做,程序瞬间完成

    所有的都开始,没有排队 阻塞

    一个服务员服务很多、多个顾客

 

 

2、加载file模块      

(阻塞I/O/同步操作文件)

//加载fs file模块,提前建立好一个文档,这里我建立了一个名叫快捷键的txt文档
const fs=require('fs');
file='快捷键.txt';

//开始读取文件
Console.log('file start ');
//正在读取文件
data=fs.readFileSync(file);
console.log(data.toString());
//读取文件结束
Console.log('file end! ');

运行结果如下:通过运行结果就可以看出同步操作确实是先执行开始读取,直到读取完所有的文件之后,才执行读取结束。走完一个再走下一个。

 

( 异步操作文件/非阻塞I/O)

程序瞬间执行完毕,然后再一次一次操作(先走file star和file end再走程序)

//加载fs file模块
const fs=require('fs');
file='2.txt';

//开始读取文件
console.log('file start ');
//正在读取文件
//自带事件(当文件内容读取完毕时,然后再输出console.log(data.toString());)
fs.readFile(file,function(err,data){
    console.log(data.toString());
});
//读取文件结束
console.log('file end! ');

运行结果如图:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值