您好,欢迎来到99网。
搜索
您的当前位置:首页解决node.js里面fs模块异步读写同步结果的方法

解决node.js里面fs模块异步读写同步结果的方法

来源:99网


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

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务