ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 1.使用回调函数 ~~~ const fs = require("fs"); function readFile(path,callback) { fs.readFile(path, (err, data) => { if (err) { console.log(err); } else { callback(data); } }); } readFile('./package.json',data=>{ console.log(JSON.parse(data)) }) ~~~ ## 2.promise ~~~ const fs = require("fs"); function readFileAsync(path) { return new Promise((resolve, reject) => { fs.readFile(path, (err, data) => { if (err) { reject(err); } else { resolve(data); } }); }); } readFileAsync('./package.json').then(res=>{ console.log(JSON.parse(res)) }) ~~~ ## 3.co+Generator+Promitil.promisify ~~~ const fs = require("fs"); const co = require('co'); const util = require('util'); co( function *(){ //使用util.promisify将异步的读写文件,变为promise var data = yield util.promisify(fs.readFile)('./package.json'); console.log(JSON.parse(data)); }) ~~~ ## 4.async 统一世界 ~~~ const fs = require("fs"); const util = require('util'); async function readFileAsync(path){ var data = await util.promisify(fs.readFile)(path); console.log(data); } readFileAsync('./package.json') ~~~