安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

学会使用asyncawait

5月13日 虎狼旗投稿
  asyncawait语法介绍和Promise的关系异步本质for。。。of
  有很多async的面试题,例如async直接返回,是什么?async直接返回promise?await后面不加promise?
  等等,需要找出一个规律语法介绍
  用同步的方式,编写异步。functionloadImg(src){constpromisenewPromise((resolve,reject){constimgdocument。createElement(img)img。onload(){resolve(img)}img。onerror(){reject(newError(图片加载失败{src}))}img。srcsrc})returnpromise}asyncfunctionloadImg1(){constsrc1http:www。imooc。comstaticimgindexlogonew。pngconstimg1awaitloadImg(src1)returnimg1}asyncfunctionloadImg2(){constsrc2https:avatars3。githubusercontent。comu9583120constimg2awaitloadImg(src2)returnimg2}(asyncfunction(){注意:await必须放在async函数中,否则会报错try{加载第一张图片constimg1awaitloadImg1()console。log(img1)加载第二张图片constimg2awaitloadImg2()console。log(img2)}catch(ex){console。error(ex)}})()
  和Promise的关系
  async函数返回结果都是Promise对象(如果函数内没返回Promise,则自动封装一下)asyncfunctionfn2(){returnnewPromise((){})}console。log(fn2())asyncfunctionfn1(){return100}console。log(fn1())相当于Promise。resolve(100)
  await后面跟Promise对象:会阻断后续代码,等待状态变为resolved,才获取结果并继续执行
  await后续跟非Promise对象:会直接返回(asyncfunction(){constp1newPromise((){})awaitp1console。log(p1)不会执行})()(asyncfunction(){constp2Promise。resolve(100)constresawaitp2console。log(res)100})()(asyncfunction(){constresawait100console。log(res)100})()(asyncfunction(){constp3Promise。reject(someerr)constresawaitp3console。log(res)不会执行})()try。。。catch捕获rejected状态(asyncfunction(){constp4Promise。reject(someerr)try{constresawaitp4console。log(res)}catch(ex){console。error(ex)}})()
  总结来看:async封装Promiseawait处理Promise成功try。。。catch处理Promise失败
  异步本质
  await是同步写法,但本质还是异步调用。asyncfunctionasync1(){console。log(async1start)awaitasync2()console。log(async1end)关键在这一步,它相当于放在callback中,最后执行}asyncfunctionasync2(){console。log(async2)}console。log(scriptstart)async1()console。log(scriptend)
  即,只要遇到了await,后面的代码都相当于放在callback里。
  for。。。of
  定时算乘法定时算乘法functionmulti(num){returnnewPromise((resolve){setTimeout((){resolve(numnum)},1000)})}使用forEach,是1s之后打印出所有结果,即3个值是一起被计算出来的functiontest1(){constnums〔1,2,3〕;nums。forEach(asyncx{constresawaitmulti(x);console。log(res);})}test1();使用for。。。of,可以让计算挨个串行执行asyncfunctiontest2(){constnums〔1,2,3〕;for(letxofnums){在for。。。of循环体的内部,遇到await会挨个串行计算constresawaitmulti(x)console。log(res)}}test2()
  执行async函数执行返回的是Promise对象
  await相当于Promise的then
  try。。。catch可捕获异常,代替Promise的catch
  右上图解读:async返回Promise,await返回then,await后面报错会终止执行,可以用try。。。catch来捕获
投诉 评论 转载

学会使用asyncawaitasyncawait语法介绍和Promise的关系异步本质for。。。of有很多async的面试题,例如async直接返回,是什么?async直接返回promise?aw……普京签署总统令当地时间3月2日,俄罗斯总统普京签署总统令,给予俄罗斯互联网技术公司新的优惠政策。央视新闻客户端报道截图据俄罗斯塔斯社3月2日报道,俄罗斯总统普京签署了关于保障俄罗……疯狂冲击高端市场,苹果三星已争破头!手机厂商未来出路在哪?手机厂商的出路就是在不断地突破自我中寻求变革,直到这个产品能够适应普遍性了之后也算是找到了一个暂时的出路,让自己在市场上能够统领一个阶段,对于手机厂家来说十年二十年之后会是怎么……vivoX70ProPK三星S21U,号称国产新机皇X70P笔歌科技独家报道:vivoX70系列即将发布,号称国产新机机皇,到底实力如何,碰上三星S21Ultra又将如何?一起来围观,谁才是真正有实力的安卓机皇。01vivoX70……一万元到底能配置一套什么样的HIFI系统?对音响的认识,源于小时候大爷家的一台留声机,尽管品牌不记得了,但那个把唱针放到薄薄的唱片上就能发出声音却给我留下很深很深的印象,没事跟着哼唱,倒也逍遥。那时候我并不懂音响为何物……互联网算法推荐新规,给大数据杀熟套上缰绳作者:史洪举近日,网信办等四部门联合发布《互联网信息服务算法推荐管理规定》。根据规定,算法推荐服务提供者应当向用户提供不针对其个人特征的选项,或者向用户提供便捷的关闭算法……华为鸿蒙汽车亮相,同为增程式动力,岚图FREE同样值得一看12月23日,在华为冬季旗舰新品发布会上,问界M5正式亮相。作为首款搭载HarmonyOS智能座舱的汽车,AITO问界M5定位为中型豪华电动增程SUV,新车补贴后预售价为253……苹果电池鼓包的原因及解决方法苹果电池出现鼓包的情况,机身很容易因为内部挤压导致屏幕和机身开裂。那么引起苹果电池鼓包的原因有哪些呢?又该如何解决呢?1、苹果手机受到外力伤害出现弯折的现象,继续使用导致……一妈拖三娃,贾跃亭前妻甘薇频繁分享励志鸡汤,孩子们越长越像爸贾跃亭又有新消息了,大抵是国外的造车公司再被质疑,被某机构评价为上市只为骗投资者:FF永远也卖不出一辆车。消息传回国内,人们对他的造车事业显然并不关心,只是调侃一句:下周……如何申请免费ssl证书SSL证书(Securesocketlayer)就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。现……iOS微信再次更新,朋友圈可设置视频封面此前iOS微信发布了8。0。10正式版,当时根据官方显示,这次的更新就修复了一些已知问题,当时我们在里面只发现新增了一个AppleWatch支付功能,至于其他的新功能我们也并没……4g5g移动信号会成为过去吗?天风国际分析师郭明錤最新研究指出:我们理解到apple因看好卫星通讯趋势,故内部成立特定团队且研究与开发相关技术与应用已有一段时间。我们预测iPhone13硬件规格可支援低轨道……
win10系统要花钱买吗?服务器搭建网站时,是选http还是https?深夜突发!检察院出手,微信被起诉!黑石236亿收购SOHO中振奋人心!我国又一核心技术诞生,突破国外技术封锁,已获20项人工智能将如何改变我们的生活?凯文凯利对于未来的预见Vue表单验证,手机号邮箱身份证小米中的红米千元机哪几款性价比最高?年底换手机,这3类手机不适宜捡漏,听听手机店老板的分析高配版本也降价!12G512GE5屏幕,真的非常的香祸不单行!苹果公司遭集体诉讼,损失将超21亿美元标新立异,vivoS10Pro正在闷声干大事投影幕布你选对了吗?关于幕布的挑选你应该知道赌王出殡,窦骁何超莲现身,所有豪门千金X大明星小说都有了原型2023,遇见不一样的崆峒山学生感恩演讲稿不要只会穿白今夏这些热门单品让你美的不像话产品经理如何基于需求迭代产品上篇需求调研的四个步一位长不大的孩子小学四年级作文o型血和ab型生的孩子是什么血型(男ab型女o型溶血几率)甲状腺癌有哪些高危因素?出现哪些症状要提高警惕?新居装修最需要了解的个风水问题职场新人面试自我介绍绝望的尖叫,欧洲几大最残忍惊悚的酷刑这!就是街舞国际精英精诚合作,齐舞对战惊喜不断

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利