ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
##同步或异步调用 - fs模块对文件的几乎所有操作都有同步和异步两种形式 - 例如:readFile() 和 readFileSync() - 区别: + 同步调用会阻塞代码的执行,异步则不会 + 异步调用会将读取任务下达到任务队列,直到任务执行完成才会回调 + 异常处理方面,同步必须使用 try catch 方式,异步可以通过回调函数的第一个参数 **例子:** 1.读文件写法不一样(eadFile() 和 readFileSync()) 2.捕捉错误方式不一样 ```js // 同步调用和异步调用 const fs = require('fs'); const path = require('path'); //同步调用(同步调用的方式可以使用try catch方式,阻塞读取完) console.time('sync'); try { var data = fs.readFileSync(path.join('/tmp', 'test.js')); // console.log(data); } catch (error) { throw error; } console.timeEnd('sync'); //异步调用 console.time('async'); fs.readFile(path.join('/tmp', 'test.js'), function(error, data) { if (error) throw error; // console.log(data); }); console.timeEnd('async'); ``` 结果: ``` sync: 11ms async: 1ms ```