async await 解决异步问题,这两个关键字是es7提出的,所以测试,node和浏览器版本提高一些
async await 操作基于promise实现的
async await这两个关键字是一起使用,分开使用会报错
await 后面只能跟promise对象
不熟悉的promise异步操作的朋友,去看看我promise那边文章
Promise 解决多层嵌套,回调地狱
什么叫回调地狱
写一个实例,就是恶心的多层欠嵌套
function a(){function b(){function c(){}}}
这样的代码看着就不容易维护,性能底下
下面我们看看fs模块解决异步请求,同步结果的问题
//es7let fs=require('fs');function read(url) {//new Promise 需要传入一个executor 执行器//executor需要传入两个函数 resolve rejectreturn new Promise((resolve,reject)=>{//异步读取文件fs.readFile(url,'utf8',function (err,data) {if(err){reject(err)}else{resolve(data);}})})};//async await 解决异步问题,基于promise//async await这两个关键字一起使用//await 后面只能跟promise对象async function getData(){try{//Promise.all()并发读取let result =await Promise.all([read('name.txt'),read('age.txt')]);console.log(result);}catch (e){console.log(e);}}getData();//Promise 解决多层嵌套,回调地狱// 解决异步请求,同步结果的问题
如果觉得《利用async和await异步操作解决node.js里面fs模块异步读写 同步结果的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!