1.async起什么作用?   输出的是一个Promise对象

注:

1)async函数返回的是一个Promise对象。Async函数(包含函数语句、函数表达式、Lambda表达式)会返回一个Promise对象,如果在函数中return一个直接量,async会把这个直接量通过Promise.resolve()封装成Promise对象。

2)async函数返回的是一个Promise对象,所以在最外层不能用await获取其返回值的情况下,我们当然应该用原来的方式:then()链来处理这个Promise对象。

如果async函数没有返回值,又该如何?  没有返回值就是undefined

总结:async函数 在没有await的情况下执行async函数,它会立即执行,并且返回一个promise对象,并且绝不会阻塞后面的语句。

2.await

>await表达式会暂停当前async function的执行,等待Promise处理完成若Promise正常处理,其处理结果作为await表达式的值,继续执行async function。若Promise处理异常(rejected),await表达式会把Promise的异常原因抛出。另外,如果await操作符号的表达式的值不是一个Promise,那么该值将被转换为一个正常处理的Promise。

3.async/await的优势在于处理then链

单一的Promise链并不能发现async/await的优势,但是,如果需要处理由多个Promise组成的then链的时候,优势就能体现出来了(Promise通过then链来解决多层回调的问题,现在又用async/await来进一步优化它)

举例使用:(微信小程序中wepy框架)

异步变同步使用。

结果:先执行的do1,等do1完全执行结束 然后是do2,最后是do3

async await 处理异步变同步(微信小程序内举例)相关推荐

  1. 微信小程序判断服务器返回值,让微信小程序内置函数返回promise的方法

    Promise API const promisic = function (func) { return function (params = {}) { return new Promise((r ...

  2. php 微信创建客服,如何给微信小程序内添加客服按钮

    这次给大家带来如何给微信小程序内添加客服按钮,给微信小程序内添加客服按钮的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 普通客服按钮添加客服-联系我们 2. 悬浮客服按钮添加,图片自定义 大 ...

  3. 会员卡券领取 小程序_新增卡券功能在哪 微信小程序内直接领取卡券方法

    微信小程序新增卡券功能在哪?怎么在微信小程序内直接领取卡券?近日,微信小程序又新增了几大功能,其中包括卡券功能.用户可以直接从小程序中领取会员卡或者优惠券了,也可以从卡包中的会员卡直达小程序,非常方便 ...

  4. 微信小程序内嵌H5网页

    微信小程序内嵌网页 1.登录微信公众平台,选择对应的小程序进入(个人类型的小程序暂不支持使用) 2.在小程序后台左侧菜单选择"开发"–"开发管理"–" ...

  5. php轮播怎么调整图片大小,微信小程序内轮播图怎样设置成自适应高度

    这次给大家带来微信小程序内轮播图怎样设置成自适应高度,微信小程序内轮播图怎设置成自适应高度的注意事项有哪些,下面就是实战案例,一起来看一下. 我的思路是:获取屏幕宽度,获取图片的宽高,然后等比设置当前 ...

  6. 微信小程序内拖动图片实现移动、放大、旋转

    最近接到一个任务,在微信小程序内拖动图片组件实现移动.放大.旋转,并记录这些图片的移动位置,放大比例,旋转角度,在一个画布上生成一张图片,最后保存到手机相册. 我的具体实现思路是这样的:(文章底部留有 ...

  7. 微信小程序内嵌webview实现微信登录

    一.调研场景 1, 微信小程序内嵌webview实现微信登录 二.技术实现 1. web-view标签实现链接内嵌 小程序里嵌套web-view页面 (1)src属性:webview 指向网页的链接. ...

  8. 微信小程序例子——打开微信小程序内置地图

    1.效果展示 2.关键代码 .wxml布局文件代码 打开地图 .js逻辑文件代码 Page({ openMap:function(){ wx.getLocation({ type: 'gcj02', ...

  9. 微信小程序内使用echart实现中国地图,点击省跳转省地图,再点击市跳转到市区详情

    目的:在微信小程序内实现一张中国地图,上面要写上一些全国数据,点击省 => 省地图,并请求数据,点击市区 => 跳转到市区地图这样一个功能,具体实现效果如下: 思路:  1.首先我们要先画 ...

最新文章

  1. Linux用户态和内核态
  2. xcode armv6 armv7 armv7s arm64
  3. 根号三的用计算机怎么表示,计算器根号3怎么打
  4. windows找不到文件javaw_windows电脑上,怎么快速找文件?
  5. Matrix: android 中的Matrix (android.graphics.Matrix) (转)
  6. sm750显卡驱动linux版,M.2接口也能做显卡,慧荣科技提供图形显示芯片支持
  7. Hadoop大数据之Debug
  8. js 自定义getClass函数实现获取dom的class 兼容火狐ie
  9. 《计算机网络》复习笔记
  10. MATLAB神经网络工具箱 BP神经网络函数化表示 BP神经网络梯度\求导函数
  11. linux安装时mbr转gpt分区表,免重装系统 手把手教你MBR转GPT分区表
  12. 八孔g调短洞箫_八孔G调的箫,对应的1234567应该分别按哪些孔?
  13. 搞Java的年薪 40W 是什么水平? 1
  14. 去哪查阅ISO国际标准?
  15. [堆+贪心] CF596C. Wilbur and Points
  16. Nginx设置图片防盗链(白名单与黑名单)
  17. 极客日报第118期:京东被曝显卡售后不肯维修要原价退款;​IBM发布第一个2纳米芯片;Bootstrap 5.0.0发布
  18. 巨型电子计算机应用,1989年11月17日 我国首台小巨型电子计算机研制成功
  19. MOGRT替换视频,图像,照片及LOGO?如何替换PR动态图形模板中的图片视频素材
  20. PHP简洁小猫咪图床源码 带12个图床接口

热门文章

  1. 腾讯企业邮箱管理权限可实现什么?
  2. Maxio MAS0902A贴英特尔B16A颗粒速度测试
  3. 「WinddowInsets(二)」我们能用WindowInsets做什么?
  4. 互联网理财系统开发-满足投资人随投随取、多种产品、多种选择、风险更小、收益更多
  5. 理财通app的设计与实现(三)
  6. 恒指期货实盘记录及下周行情分析!
  7. numpy学习(五)——文件的保存和读写(np.save()、np.load()、np.savez()、np.savetxt()、np.loadtxt())
  8. Mac OS开发之icns文件
  9. 玩转Linux的下Ip计算器(图文)
  10. dry的原理_4、干法蚀刻(dry etch)原理介绍