微信小程序中有些 Api 是异步的,无法直接进行同步处理。例如:wx.request、wx.showToast、wx.showLoading等,我们可以使用async await来处理。
async await方法属于ES7语法,在小程序开发工具中如果勾选es6转es5, 会报错:
ReferenceError: regeneratorRuntime is not defined
避免报错,可以引入 regenerator
-
在根目录下创建 lib 文件夹,并将 https://github.com/facebook/regenerator/tree/master/packages 里面的 regenerator-runtime 文件夹放进去。
-
然后在使用async awiat的页面中引入并使用
const regeneratorRuntime = require('../../lib/regenerator-runtime/runtime')
async submit() {
await $http.get('...', data).then(res=> {
console.log('请求回来的内容');
})
}
网友评论