视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
解决node.js里面fs模块异步读写同步结果的方法
2020-11-27 20:12:25 责编:小采
文档

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 reject
 return 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 解决多层嵌套,回调地狱// 解决异步请求,同步结果的问题

下载本文
显示全文
专题