分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题

发布时间:2023-09-06 01:07责任编辑:傅花花关键词:js

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

利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题

原文地址:http://www.cnblogs.com/null11/p/7499121.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved