async和await结合读取文件
上一篇已经介绍过,使用promise的方式读取文件,大大的减轻了使用回调地狱的困难。
下面使用async和await结合读取文件实例看看,可以实现同样的效果:
//1. 引入 fs 模块
const fs = require("fs");//读取『为学』
function readWeiXue() {return new Promise((resolve, reject) => {fs.readFile("./resources/为学.md", (err, data) => {//如果失败if (err) reject(err);//如果成功resolve(data);})})
}function readChaYangShi() {return new Promise((resolve, reject) => {fs.readFile("./resources/插秧诗.md", (err, data) => {//如果失败if (err) reject(err);//如果成功resolve(data);})})
}function readGuanShu() {return new Promise((resolve, reject) => {fs.readFile("./resources/观书有感.md", (err, data) => {//如果失败if (err) reject(err);//如果成功resolve(data);})})
}//声明一个 async 函数
async function main(){//获取为学内容let weixue = await readWeiXue();//获取插秧诗内容let chayang = await readChaYangShi();// 获取观书有感let guanshu = await readGuanShu();console.log(weixue.toString());console.log(chayang.toString());console.log(guanshu.toString());
}main();
readWeiXue()与readChaYangShi()与readGuanShu()都返回一个promise的对象;
await后面都是跟一个返回promise对象的函数;
async和await结合读取文件相关推荐
- ES8 新特性 ------ async 和 await
async 和 await async 和 await 代码结合,可以让异步代码像同步代码一样. async 函数 async函数的返回值为 promise 对象 promise 对象的结果由 asy ...
- ES6-Promise简介、ES7 新特性及ES8新特性-async和await
目录 ES6-Promise Promise简介 Promise.prototype.then方法 Promise.prototype.catch方法 ES7 新特性 Array.prototype. ...
- Javascript ES6 Promise同步读取文件(使用async、await)
const fs=require('fs'); const path=require('path');const dirname='D:\\HBuilderX\\Workspace\\NodeJS\\ ...
- ES8新特性_async和await结合使用读取文件内容---JavaScript_ECMAScript_ES6-ES11新特性工作笔记050
然后我们再来看看,我们用async和await,es8中提供的新特性,来结合使用读取文件 首先我引入fs文件系统模块 然后写个函数,读取文件 注意这里我们返回一个promise对象 然后在箭头函数中, ...
- JavaScript 异步编程--Generator函数、async、await
JavaScript 异步编程–Generator函数 Generator(生成器)是ES6标准引入的新的数据类型,其最大的特点就是可以交出函数的执行的控制权,即:通过yield关键字标明需要暂停的语 ...
- C# 中的Async 和 Await 的用法详解
众所周知C#提供Async和Await关键字来实现异步编程.在本文中,我们将共同探讨并介绍什么是Async 和 Await,以及如何在C#中使用Async 和 Await. 同样本文的内容也大多是翻译 ...
- 利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题
async await 解决异步问题,这两个关键字是es7提出的,所以测试,node和浏览器版本提高一些 async await 操作基于promise实现的 async await这两个关键字是一起 ...
- 【转载】 C# 中的Async 和 Await 的用法详解
众所周知C#提供Async和Await关键字来实现异步编程.在本文中,我们将共同探讨并介绍什么是Async 和 Await,以及如何在C#中使用Async 和 Await. 同样本文的内容也大多是翻译 ...
- 一文看懂async和“await”关键词是如何简化了C#中多线程的开发过程
一文看懂"async"和"await"关键词是如何简化了C#中多线程的开发过程 当我们使用需要长时间运行的方法(即,用于读取大文件或从网络下载大量资源)时,在同 ...
最新文章
- 庖丁解牛Nop:控制反转--IOC和DI
- 以下选项不是python打开方式的是-模拟试卷 A
- VS2013常用快捷方式
- Android学习笔记之自定义Toast
- php中的rand,预测PHP的rand()的输出
- initializeAdvisorChain
- Core IO学习心得
- 电脑测速软件_联通你我【宽带提速】让网速飞!超实用的宽带测速提速攻略来啦!...
- webview传递参数给html,uniapp与webview之间的相互传值
- 煤岩分析仪测定煤的镜质体反射率和煤显微组分
- sqlite数据库下载安装和初步操作和所遇到的问题
- linux中安装无线网卡驱动,在linux下安装无线网卡驱动
- 复杂网络-小世界网络WS模型
- [C++] [OpenGL] 基于GLFW+GLAD的OpenGL简单程序
- 感恩节:美国人的春节
- 论剑江湖服务器维护,《论剑:江湖》老玩家谈前期流程攻略
- 烤仔观察 | 从 KuCoin 被盗聊起,盘一盘那些年我们丢过的币
- [初级前端工程师]网络相关知识
- 用计算机自动写作文,电脑写一篇作文用说明方法
- 【深度学习】入门之keras
热门文章
- ubuntu16.04 安装docker-ce,解决libltdl7版本过低的问题
- 梯度迭代树回归(GBDT)算法介绍及Spark MLlib调用实例(Scala/Java/python)
- Spark RDD使用详解4--Key-Value型Transformation算子
- Spark性能优化指南:高级篇
- 史上最全Java面试266题:算法+缓存+TCP+JVM+搜索+分布式+数据库
- mac 安装使用 webp 来压缩图片
- 关于Bitmap中的inBitmap变量的学习与使用
- 电子邮件收发原理和实现(POP3, SMTP)
- [2011山东ACM省赛] Identifiers(模拟)
- 荷兰警方错买300万欧元Office套件 法院:微软无需退款