下面隻是做一些介紹以及使用的原因,詳情介紹還請移步部落客:https://www.cnblogs.com/SamWeb/p/8417940.html
regenerator-runtime下載下傳:https://www.npmjs.com/package/regenerator-runtime
關于request的異步請求示範如下
使用async...await同步如下
微信小程式使用(其它例如VUE使用方式類似):
App.js
Index.js(注意,引入的變量名不能随意改變,應為固定的“regeneratorRuntime”)-> 注意方法和函數調用的差別
- 函數聲明:
async function foo() {}
- 函數表達式:
const foo = async function() {}
- 對象的方式:
let obj = { async foo() {} }
- 箭頭函數:
const foo = async () => {}
關于$wx,也就是封裝的Promise方法,類似這樣的
//ES6
const $wx = url => {
return new Promise((resolve, reject) => {
wx.request({
url,
method: 'GET',
header: {
"content-type": "application/json"
},
success(res) {
resolve(res)
},
fail(err) {
reject(err)
}
})
})
}
//ES5
function $wx(url){
return new Promise((resolve, reject) => {
wx.request({
url,
method: 'GET',
header: {
"content-type": "application/json"
},
success(res) {
resolve(res)
},
fail(err) {
reject(err)
}
})
})
}
微信小程式原生不支援async/awit,類似支援的平台有wepy,uni-app等架構....