🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 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'); // fs.readFile('./package.json',(err,data)=>{ // if(err){ // console.log(err) // }else{ // console.log(JSON.parse(data).name) // } // }) function readFileAsync(path){ return new Promise((resolve,reject)=>{ fs.readFile(path,(err,data)=>{ if(err) reject(err) else resolve(data) }) }) } readFileAsync('./package.json').then(data=>{ console.log(JSON.parse(data)); }).catch(err=>{ console.log(err) }) ~~~