下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AsyncawaitAsyncawait是异这里的业务就是读取1.txt之后根据AsyncawaitAsyncawait是异这里的业务就是读取1.txt之后根据1.txt中的文件路径继续读取别的文件,相比之前回调函数的阅确实强了不少,但我们总觉得类似于这种业务我们能不能有一个更好的解决事实上我们只要使用Async与await就能实现类似于上面的表现形123456789functionreadFile(path){returnnewPromise((resolve,reject)=>{fs.readFile(path,'utf8',(erreject(err);//出错了我们调用reject传递错误对resolve(data);//读取成功使用}functionletpath=path=letresult=console.log(result);}functionreturnnewreject(err);//出错了我们调用reject传递错误对resolve(data);//读取成功使用resolve} returnreadFile(s.toString());//返回Promise对 读出数据2.txt returnreadFile(s.toString());//返回Promise对象读出数据3.txt console.log(s)//返回Promise对象//3.txt文件的内容console.log("错误处理!!!",err);//上面的所有Promies过程出错都可以在此处捕捉 }//async关}//async关键词标识后面的函数是一个异asyncfunction//await函数如果遇到异步函数会阻塞和面代码的执行,直到readFile的状态改letpath=awaitreadFile('1.txt');path=awaitreadFile(path);letresult=awaitreadFile('path')}Async函数到底事实上Async函数本质上就是一个Promise,如果返回值不是一个Promise他会自动将其转换为Promise,返回,上面的代码我们返回了一个字符串常量它发现不是一个Promise对象变回调用Promise.resolve('hello'),然后返回这Await做了什么Await我们可以认为他是Asyncwait的简写,意思很明白就是等待一个异步函数的执行,而且需要注意的是必须包含在async声明的函数中,如果你尝试放在外面就会报其实也很容易理解为什么会需要写在async函数内部,因为await以后会阻塞后面的代码,如果直接用失去了异步的意义,直接用同步代码读取就好了,为什么还要加个await呢?之所以要用awiat就是为了用同步代码的方式写异步调用,123456789constfs=functionreadFile(path){returnnewPromise((resolve,reject)=>{fs.readFile(path,'utf8',(erreject(err);//出错了我们调用reject传递错误对resolve(data);//读取成功使用}}add(x,y){return}asyncfunctiontestleta=await1;//同步代码调用await没有任何意义asyncfunctionreturn"hello!"3letrel=console.log(rel);>>>print //恍然大悟....原来async函数返回的是一个promise//上面的这些代码不//上面的这些代码不需要写await没有任何意义因为本来就是同步的写与不写都一样letdata=awaitreadFile('1.txt');//异步代码加了await会等待状态的改变获取返回值//如果要处理异常怎么办呢?在Async函数中我们处错误用}1asyncfunctiontestlet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学第四学年(视觉艺术)创作创新阶段测试题及答案
- 2026年智能场景面板项目项目建议书
- 2025年本科工业设计(产品造型设计)试题及答案
- 2025年大学大一(建筑学)建筑设计基础原理测试题及答案
- 2026年智能香氛夜灯项目评估报告
- 2026年水产品营销(营销规范)试题及答案
- 2026年智能卫浴健康融合项目可行性研究报告
- 2025年大学大二(印刷材料)纸张性能检测阶段测试试题及答案
- 2026年美甲设计(渐变美甲工艺)试题及答案
- 多环芳烃暴露人群营养支持治疗策略
- 手机铺货协议书
- 2025年物业管理中心工作总结及2026年工作计划
- 雨课堂学堂在线学堂云军事理论国防大学单元测试考核答案
- 马路切割承包协议书
- 多源医疗数据融合的联邦学习策略研究
- 2025至2030中国工业边缘控制器行业运营态势与投资前景调查研究报告
- 磁电感应式传感器课件
- 学校控辍保学工作流程及四书一表一单
- 2026届湖南省常德市石门一中生物高二第一学期期末统考试题含解析
- 冷渣机调整课件
- 地埋式生活污水处理工艺技术方案
评论
0/150
提交评论