小程序里使用es7的async await语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序里使用es7的async await语法相关的知识,希望对你有一定的参考价值。

我们做小程序开发时,有时候想让自己代码变得整洁,异步操作时避免回调地狱.我们会使用es6的promise. es7的async,await .
promise在小程序和云开发的云函数里都可以使用. async和await只能在云开发的云函数里使用.我们在小程序的代码里直接使用,就会报如下错误.

技术图片
这个报错就是告诉我们不能在小程序里直接使用es7的async和await语法.但是这么好的语法我们用起来确实显得代码整洁,逼格高.
那接下来我就教大家如何在小程序代码里使用es7的async和await语法.

一,下载facebook出的runtime.js类库

技术图片
其实这个问题,一些大厂已经给出了解决方案.如上图,我们只需要把facebook出的这个runtime.js类库下载下来,然后放到我们的小程序项目里.
下载链接:https://github.com/facebook/regenerator/blob/master/packages/regenerator-runtime/runtime.js
github有时候下载比较慢,我也提前把这个类库下载好放我网盘里了.
技术图片

下载链接:https://pan.baidu.com/s/19n5wmjIKK3PAPbcXBzWmQA 提取码:xxll

  • 如果链接失效,可以在底部 留言,或者私信石头哥获取.

二,下载后,把runtime.js放到我们项目里

我这里把runtime.js放到我的utils目录下,如果你没有utils目录,可以新建.
技术图片

三,代码里引入runtime.js类库

这里建议大家用 require语法引入.
技术图片
这里需要注意的是.上图我们引入runtime.js时的变量名regeneratorRuntime必须和我这里一模一样.要不然就会引入不成功.

引入完后,在编译代码,可以看到控制台不再报我们一开始的错误
技术图片

四,简单使用async和await

首先要知道我们async和await是结合使用的.
技术图片
上图是我简单写的一个定时器来模拟异步等待.只要我们这里成功的引入runtime.js类库,后面想使用async和await就方便很多了.

今天就讲到这里.想学习更多小程序相关的知识,请持续关注.下期见

以上是关于小程序里使用es7的async await语法的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序中支持es7的async语法

微信小程序 使用 Async await 异步转同步请求

小程序如何支持使用 async/await

ES7 语法详解(async 与 await(重点))

wepack打包时出错不压缩代码及使用es7(async await)新语法问题

ES7 async await