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

微信小程序中有些 Api 是异步的,无法直接进行同步处理。例如:wx.request、wx.showToast、wx.showLoading等,我们可以使用async await来处理。

async await方法属于ES7语法,在小程序开发工具中如果勾选es6转es5, 会报错:

ReferenceError: regeneratorRuntime is not defined

避免报错,可以引入 regenerator

  1. 在根目录下创建 lib 文件夹,并将 https://github.com/facebook/regenerator/tree/master/packages 里面的 regenerator-runtime 文件夹放进去。

  2. 然后在使用async awiat的页面中引入并使用

const regeneratorRuntime = require('../../lib/regenerator-runtime/runtime')

async submit() {
  await $http.get('...', data).then(res=> {
    console.log('请求回来的内容');
  })
}

你可能感兴趣的:(微信小程序 使用 Async await 异步转同步请求)