微信小程序判断服务器返回值,让微信小程序内置函数返回promise的方法
Promise API
const promisic = function (func) {
return function (params = {}) {
return new Promise((resolve, reject) => {
const args = Object.assign(params, {
success: (res) => {
resolve(res);
},
fail: (error) => {
reject(error);
}
});
func(args);
});
};
};
進行封裝并使用Promise API
封裝Promise API
1.在任意文件下新建xxx.js
封裝Promise API.png
2.復制Promise API的代碼片段復制到上述的xxx.js文件
const promisic = function (func) {
return function (params = {}) {
return new Promise((resolve, reject) => {
const args = Object.assign(params, {
success: (res) => {
resolve(res);
},
fail: (error) => {
reject(error);
}
});
func(args);
});
};
};
export { // 一定要導出啊!~童鞋們,不然找不到的
promisic
}
不要忘記使用 export {} 語句導出
記上次搞很久很久很久很久使用時一直報錯,找不到函數
使用Promise API
這里以請求服務器數據為例,使用Promise API
1.封裝微信小程序內置函數(wx.request)
class Http{
/**
* Http請求
* @param url
* @param data
* @param callback
* @param method
* 在參數列表兩端 添加 '{' 和 '}' 就可以json對象式的傳參
*/
static async request({
url,
data,
callback,
method='GET'
}){
const res = await promisic(wx.request)({
url:config.apiBaseUrl + '/' + config.apiVersion + '/' + url,
data,
method,
header:{
appkey: config.appkey
}
// 當返回為promise之后,就不再需要回調函數了
// success(res) {
// callback(res.data)
// }
})
return res.data
}
}
export {
Http
}
可以觀察到使用時的語法
promise(method)({param})
非常要注意的是,method不要寫成method()
就是只要方法(函數)名即可
X promise(wx.request())({param})
√ promise(wx.request)({param})
額外內容
config.js
請求數據中一些反復的變量可以提取成一個配置文件,避免硬編碼(重點是好維護啊,童鞋們~),一旦服務端的HOST地址或者API版本(API Version),只要修改配置文件的信息即可!多好~~
// 定義變量
const config = {
appkey:'F6c**********thb', // 對接秘鑰
apiBaseUrl:'http://api.xxx.com', // HOST地址
apiVersion:'v1' // api版本
}
// 導出變量
export {
config
}
最后!還是記得導出export
最后!還是記得導出export
最后!還是記得導出export
export export export export export export export
總結
以上是生活随笔為你收集整理的微信小程序判断服务器返回值,让微信小程序内置函数返回promise的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统启动数据库服务器,linux系统如何
- 下一篇: 拼多多 2022 年营收 1305.57