异步封装
// @/util/async.js
const $http = (op) => {
let header = {
"Content-Type": op.method.toUpperCase() == 'POST' ? "application/x-www-form-urlencoded" : "application/json"
};
return new Promise((fn1, fn2) => {
wx.request({
...op,
header,
success({
data
}) {
fn1(data)
},
fail(err) {
fn2(err)
}
})
})
}
const $login = (op)=>{
return new Promise((fn1,fn2)=>{
wx.login({
...op,
success(res){
fn1(res)
},
fail(err){fn2(err)}
})
})
}
module.exports = {
$http,
$login
}
并打开增强编译(使用async的语法需要开启)
引入使用就ok了
// demo
const {
$http,
$login
} = require('../../utils/async');
page({
...
async clickBtn(){
let code = await $login();//小程序登录拿取code
}
})