- 第一种封装
// index.js
const toPromise = (wx) => {
return (method) => {
return (option) => {
return new Promise ((resolve, reject) => {
wx[method]({
...option,
success: (res) => { resolve(res) },
fail: (err) => { reject(err) }
})
})
}
}
}
export default toPromise
引入
import toPromise from ''
const request = toPromiseWx('request')
- 第二种封装
//promisify.js
const promisify = (api) => {
return (options, ...params) => {
return new Promise((resolve, reject) => {
api(Object.assign({}, options, { success: resolve, fail: reject }), ...params);
});
}
}
export default promisify
引入
const { promisify } = require("../../../utils/promisify");
const getLocationAuthorize = promisify(wx.getLocation);