大家都知道在使用promise的时候能配合async和await是非常爽的一件事,但是在原生小程序开发中默认是不可以使用async和await的,如果直接使用会报一个错误“regeneratorRuntime is not defined”,那么我们改如何使用呢,我们可以直接在谷歌或者百度直接搜索regeneratorRuntime,在regenerator-runtime - npm这里中的git里面去下载runtime.js后
第一步、将runtime.js放入utils(其他文件里也可以)中
第二步、在要用async和await的js文件中引入即可 例如:import regeneratorRuntime from '../../utils/runtime.js',或者: const regeneratorRuntime = require("../../utils/runtime.js");
那么还有一个很重要的问题就是async和await的作用是什么呢,我这里简单说一下自己的理解,首先现附上阮一峰老师的ES6的链接,async和await号称回调地狱的终极解决方案,在async、await之后再无回调,用起来也是相当的好用,简单说就是async函数返回一个 Promise 对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。下面举一个例子
async getNavList() { let res = await fetch('categories') this.setData({ navList: res.data }) }复制代码