早些时候,研究了一下前端异步编程,想着使用async/await函数编写异步代码,简直爽的不要不要的,而我本身是做小程序开发的,所有自然希望能够让async/await函数在小程序中大展拳脚了,这里就简单介绍一下如何在微信小程序中使用async/await函数来编写异步代码。
微信小程序本身支持es6的语法,并且可以开启Babel将es6转为es5。但是即使开启了语法编译,在你使用async函数时,还是会报如下错误:
regeneratorRuntime is not defined;at pages/index/index page lifeCycleMethod onLoad function
ReferenceError: regeneratorRuntime is not defined
我们知道babel在编译时,并不是支持所有的es6语法的,所以需要一些插件来对babel进行扩展,而这个regeneratorRuntime他其实就是一个对Generator、async函数提供的一种语法支持的插件。既然它提示regeneratorRuntime没有定义,那么我们就可以手动从npm下载regenerator-runtime这个包。然后,我们再将下载好的包丢到我们的小程序中的,然后在每个需要使用async函数的地方,使用以下代码:
// 以下是es6的模块化写法,你也可以使用require,一样的。注意路径和js文件,不要引用错了。
import regeneratorRuntime from '/utils/regenerator-runtime/runti