!!!编程中的同步与异步与生活中的感觉是相反的
编程同步是一件事情做完再做另一件事情,异步是同时开始做几件事情(结合下面的例子理解)

readFile()的基础用法

readFile() // 异步读取文件

可传入3个参数

第一个参数:文件的路径(不可省略)

第二个参数:编码方式(可省略,省略后读出的文件就是buffer数据格式)

第三个参数:(不可省略)
一个函数,表示读取文件之后要做的事情;
这个函数可传入两个参数,第一个代表读取失败时的错误,第二个代表读取成功时读到的数据;

const fs = require('fs');fs.readFile('../../static/txt/a.txt', 'utf-8', (err, data) => {console.log(data);
});

readFileSync()的基础用法

readFileSync() // 同步读取文件

可传入两个参数

第一个参数代表文件路径(不可省略)

第二个参数代表读出文件的编码方式(可省略,省略后读出的数据是buffer数据格式)

const fs = require('fs');let res = fs.readFileSync('../../static/txt/a.txt', 'utf-8');console.log(res);

readFile()异步

const fs = require('fs');fs.readFile('../../static/txt/a.txt', 'utf-8', (err, data) => {console.log(data);
});fs.readFile('../../static/txt/b.txt', 'utf-8', (err, data) => {console.log(data);
});fs.readFile('../../static/txt/c.txt', 'utf-8', (err, data) => {console.log(data);
});

由于readFile是异步读取文件,所以就相当于读取三个文件并打印的操作在同时进行,受延迟等影响,每次执行打印的顺序不固定。
如:
111111111111 (a.txt的内容)
333333333333333 (c.txt的内容)
22222222222222 (b.txt的内容)
或:
111111111111
22222222222222
333333333333333

readFileSync()同步

const fs = require('fs');let resA = fs.readFileSync('../../static/txt/a.txt', 'utf-8');
console.log(resA);let resB = fs.readFileSync('../../static/txt/b.txt', 'utf-8');
console.log(resB);let resC = fs.readFileSync('../../static/txt/c.txt', 'utf-8');
console.log(resC);

由于readFileSync()是同步读取,所以按照顺序读取并打印a.txt、b.txt、c.txt,上一个文件未读取时不会读取下一个文件(做完一件事再做另一件事)。
所以无论执行多少次结果都是:
111111111111
22222222222222
333333333333333

fs模块下的readFile()和readFileSync()相关推荐

  1. 二十六、深入Node.js中的文件系统fs模块

    @Author:Runsen @Date:2020/6/8 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  2. Node.js 初识 fs 模块

    fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内 ...

  3. nodejs01——安装及使用、服务端及客户端、commonjs规范、fs模块的使用(文件操作及目录操作)、stream、buffer、WebServer、端口、动态资源及静态资源、头信息、请求方式

    nodejs的安装及使用 服务端及客户端 commonjs规范 fs模块的使用(文件操作及目录操作) stream buffer // Node.js介绍 Node.js 诞生于2009年,Node. ...

  4. NodeJS 之 fs 模块(文件操作)

    NodeJS 之 fs 模块(文件系统模块) 参考 描述 fs(File System) 文件 读取 fs.readFile() 判断文件是否读取成功 编码 写入 fs.writeFile() 覆盖 ...

  5. nodejs fs模块

    本文转载自 https://www.cnblogs.com/starof/p/5038300.html nodejs模块--fs模块 fs模块用于对系统文件及目录进行读写操作. 一.同步和异步 使用r ...

  6. NodeJs 的fs模块

    <1>js 里面的fs模块 readFile(),readFileSync() writeFile(),writeFileSync() exists(path, callback) mkd ...

  7. node.js同步文件写入、异步文件写入、简单文件写入、简单文件读取、流式文件写入、流式文件读取、fs模块的其他方法

    fs(文件系统 File System) 使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载 fs模块中所有的操作都有两种形式可供选择(同步和异步) 同步文件会阻塞程序的执行,也就是 ...

  8. php node 目录,node.js基于fs模块对系统文件及目录进行读写操作的方法详解

    本文主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写.创建.删除等相关操作技巧,需要的朋友可以参考下. 如果要用这 ...

  9. Node.js「二」—— fs 模块 / async 与 await

    本文为 Node.js 系列笔记第二篇.文章参考:nodejs 教程 -- 大地:<深入浅出 Node.js>:阮一峰 nodejs 博客: 添加链接描述 文章目录 一.fs 模块常用读写 ...

最新文章

  1. c3p0 数据库连接池
  2. hive启用本地模式
  3. Linux sar分析网卡流量
  4. (调用系统电话薄)运行时权限的基本使用
  5. .aspx页面 引用命名空间 (Import 指令,web.config)
  6. (二) Keras 非线性回归
  7. 关于require,require_once,include和include_once的区别
  8. python多线程刷网站流量(含ip代理池文档,可制作成exe文件挂服务器代刷)
  9. 架构师之路 — 架构师的职责
  10. 连接SQLserver数据库发生错误,提示用户sa登录失败解决方法(亲试有用)
  11. IAP商品修改和数据获取,一文带你全部搞懂
  12. 浙大计算机就业方向,浙大四大 王牌专业,毕业后工作待遇高,发展前景非常广阔...
  13. java8使用 Comparator.comparing 进行排序
  14. 微信小程序【网易云音乐实战】(第三篇 自定义组件、排行榜的制作、内网穿透、tabBar、个人中心)
  15. 线性规划-pulp-复杂矩阵
  16. circos 可视化手册- text 篇
  17. 那么问题来了:为什么苹果设计被黑出翔还能大卖呢?
  18. HiTool工具烧录rootfs过程
  19. android系统文件误删,误删手机系统文件怎么恢复
  20. 浏览器是指在用户计算机,2016年计算机二级office模拟试卷及答案

热门文章

  1. 【C4D教程】全网最好的C4D常用插件分享!错过就没有了!
  2. TDengine助力京东云IoT数据统计改造
  3. 安卓手机ppt阅读器_PC上一款非常好用的PDF阅读器,支持免费格式转换、支持云端同步...
  4. 说说project2010中的颜色
  5. 医护网电子商务商城网站策划方案
  6. 3D环球地图-英文版本HTML
  7. 基于ISO13400(DoIP)实现车辆刷写
  8. PyTorch-Tutorials【pytorch官方教程中英文详解】- 1 Quickstart
  9. Fluent NHibernate 官方示例(增加中文注释整理,稍有修改)
  10. 使用c++,类实现求圆柱体体积