小汪又来了, 今天小汪来写一篇关于小程序使用 ES7语法中的 async和await,如果能帮到小伙伴,小伙伴不要忘了点点大拇指哦!
了解一下:es7的 async 号称是解决回调地狱的最终方案
使用的前准备:

  1. 在小程序的开发者工具中,勾选 es6转es5语法。
  2. 下载facebook的regenerator库中的regenerator/packages/regenerator-runtime/runtime.js (考虑到有些小伙伴开启GitHub网速过慢,点击这里这个超链接直接进入js页面进行复制即可)
    Ps 注意:1.因为小程序有说明 只支持ES6转ES5,如果不下载这个文件的话使用会报错哦!2.如果完成了这些配置也是会在某些机型,某些旧型号中出现问题,如果需要考虑机型兼容的问题只需再改成promise形式即可
    步骤图:1.进入facebook的regenerator库点击Raw步骤图:2.点击进入下一个页面或点击括号内的超链接将会跳转至这个页面 ,复制即可
  3. 在小程序的目录下新建文件夹 lib/runtime/runtime.js ,将代码拷贝进去
  4. 在每一个需要使用async语法的页面js文件中,都使用入以下语法进行引入(不能全局引入)
import regeneratorRuntime from '../../lib/runtime/runtime';
只需要引入即可,无需使用。

展示代码如下(模拟异步):


import regeneratorRuntime from '../../lib/runtime/runtime';
Page({data: {msg:'未点击事件'},async handleViewClick(){try {const Toast = await this.showToast('调用弹窗成功');如果这个函数有返回值 Toast就是成功之后的回调的返回值  并且使用这个方法是同步的,如上面的未执行完毕,下方代码皆暂停执行,这里我模拟一次异步展示看看this.setData({msg:'已点击按钮调用弹窗'});} catch (err){console.log(err);}},showToast(title,icon){return new Promise((resolve,reject)=>{setTimeout(()=>{wx.showToast({title,icon: icon||'none',duration: 1500,mask: true,success: resolve,fail: reject,complete: () => {}});},1000)})}
})

展示效果如下:
同理 如果小伙伴将需要同步请求的代码写成这个形式,就能执行同步操作啦。如果想是调用失败的回调则将代码写进catch即可。对于有强迫症的伙伴使用这种方法美化嵌套是一种不错的选择哦!
如果有小伙伴在使用上有不懂的地方,欢迎下方评论留言,如果有大佬发现描述不对的地方也希望大佬花两分钟指出小汪的错误,小汪一定及时改正。谢谢!

解决小程序不能使用ES7语法async/await。并演示此语法相关推荐

  1. ⼩程序中⽀持es7的async语法

    ⼩程序中⽀持es7的async语法 es7的 async 号称是解决回调的最终⽅案 1. 在⼩程序的开发⼯具中,勾选 es6转es5语法 2. 下载 facebook的regenerator库中的 r ...

  2. 完美解决小程序一维数组循环渲染列表不够用问题

    完美解决小程序一维数组循环渲染列表不够用问题 参考文章: (1)完美解决小程序一维数组循环渲染列表不够用问题 (2)https://www.cnblogs.com/jessical626/p/6363 ...

  3. 解决小程序背景图片在真机上不能查看的问题

    解决小程序背景图片在真机上不能查看的问题 参考文章: (1)解决小程序背景图片在真机上不能查看的问题 (2)https://www.cnblogs.com/web1/p/9018035.html 备忘 ...

  4. 解决小程序插槽slot内容显示不对,无论是原生小程序还是uniapp开发的,解决办法如下

    原文地址:解决小程序插槽slot内容显示不对,无论是原生小程序还是uniapp开发的,解决办法如下!在一次使用小程序插槽的时候,发现如论在哪里使用插槽,内容在子组件上展示和根目录同级,这其实是pc端微 ...

  5. 【uni-app 怎么获取当前时间,获取年月日,获取星期,解决小程序在苹果手机少了八个小时】

    uni-app 怎么获取时间,获取年月日,获取星期,解决小程序在苹果手机少了八个小时 1.在pages里新建文件夹common,common里新建.js文件命名method.js 这里结合导出方法一起 ...

  6. 解决小程序获取openid报错errcode:48001或者其他错误代码方案

    解决小程序获取openid报错errcode:48001或者其他错误代码方案 原因解析 解决方案 公众号appid获取微信openid 小程序appid获取微信openid 原因解析 获取openID ...

  7. 解决小程序自定义底部菜单切换闪动

    解决小程序自定义底部菜单切换闪动 业务上可能会有一个需求使用自定义底部菜单相信会有很多人遇到过这个需求 但是自定义底部菜单会有一个问题,在点击切换页面的时候底部菜单会重新加载,导致页面闪动,比较影响用 ...

  8. 微信小程序坑点杂谈(五)1000比200小?光速解决小程序数值大小判断错误的问题

    微信小程序坑点杂谈(五)光速解决小程序数值大小判断错误的问题 一.写在开头 本人只是一枚小小的新手开发者,所提的问题和解答很难超过个人水平,如果对你有帮助,那就太好了! 二.发现问题 我个人前些天写一 ...

  9. 解决小程序开发:未找到 app.json 中的定义的 pages “pages/index/index“ 对应的 WXML 文件

    解决小程序开发:未找到 app.json 中的定义的 pages "pages/index/index" 对应的 WXML 文件 (亲测,以解决)如果节约了你的宝贵时间,辛苦点个赞 ...

最新文章

  1. 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
  2. Java线程详解(3)-线程栈模型与线程的变量
  3. Ribbon为什么要加入点对点直连的功能?如何操作?两句话玩转!
  4. hive 1.1.1 Specified key was too long; max key length is 767 bytes
  5. 南方h5手簿求转换参数_工程之星、 gps操作、RTK求转换参数操作步骤
  6. nginx作为tcp代理 虚拟主机配置 模板
  7. python基础——面向对象的程序设计
  8. (12) 需求征集 -- 序列管理、编号管理
  9. while语句,do-while与for循环的介绍
  10. 软件项目管理案例教程期末考试知识点复习(一)软件项目管理概述
  11. Vue3动态路由与路由守卫
  12. Win7Office2010Flash控件无法使用“此演示文稿中一些控件无法激活,可能这些控件未在此计算机中注册“
  13. Linux系统小说源码网站,Linux系统小说源码网站
  14. linux bzip指定名称,bzip2命令_Linux bzip2 命令用法详解:将文件压缩成bz2格式
  15. kali安装小企鹅输入法
  16. super expression must either be null or a function 报错解决方法
  17. wc,这进度条好快,不行我也得展示一下——python教你各种方法无障碍实现进度条
  18. Excel序号类操作实例
  19. 初中生直升高中定下来了?预计2023年全面落实?教育部的回应来了
  20. Java+SSM酒店管理系统旅店管理(含源码+论文+答辩PPT等)

热门文章

  1. 数码喷墨印花和传统印花的比较
  2. Qt实现复选下拉框 C++
  3. 人工智能如何助力银行更“智慧”?
  4. waterdrop介绍
  5. SQL Server中sysobjects表结构
  6. 微信小程序实现3d轮播图效果(非swiper组件)
  7. shell上传文件到服务器,shell脚本上传文件到ftp服务器
  8. DBeaver 配置postgresSQL离线驱动(全)ps:其他数据库同理
  9. LeetCode-5411、摘樱桃 II-困难
  10. 浙江省初中计算机知识点,浙江省科学中考复习知识点归纳.docx