版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级上册数学教案-4.4 探索活动:三角形的面积 -北师大版
- 2026 高血压病人饮食的芹菜汁的降压妙方课件
- 2026 高血压病人饮食的菠菜汁搭配课件
- 2026七年级上新课标空间想象能力训练
- 《倒车雷达助安全》教案-2025-2026学年泰山版(新教材)小学信息技术六年级下册
- 浙商国际金融控股港股策略月报:2026年4月港股市场月度展望及配置策略
- 高二生物进化论深度理解与真题解析试卷及答案
- 三年级语文下册 第二单元 快乐读书吧教学设计 新人教版
- 任务三 制作抢答器教学设计小学劳动鲁科版五年级下册-鲁科版
- 洗煤厂环保设施建设方案
- 外墙保温粉刷施工方案(优选.)
- 建筑消防设施检测与方案
- 工程质量验收流程图
- 新技术新项目知情同意书
- 毕业论文-永磁同步电机无位置传感器矢量控制技术研究
- YY 9706.210-2021医用电气设备第2-10部分:神经和肌肉刺激器的基本安全和基本性能专用要求
- GB/T 38512-2020压力容器用铝及铝合金管材
- GB/T 18664-2002呼吸防护用品的选择、使用与维护
- GB/T 12615.4-2004封闭型平圆头抽芯铆钉51级
- (完整版)深圳市新版交通法规
- 中考语文二轮复习:文言文断句课件(共17张PPT)
评论
0/150
提交评论