1. 程式人生 > >基於promise對小程式http請求方法封裝

基於promise對小程式http請求方法封裝

  原因是我不想每次請求都複製貼上那麼長的請求地址,所以我把前邊那一坨請求地址作為基礎地址,只傳後臺給的路由就ok,而且,並不是每次請求都要顯示正在載入,這對小程式體驗很差,所以,我加了個形參,用來判斷是否顯示正在載入。

  依舊老慣例,直接上程式碼

/**
 * @information 小程式請求方法封裝
 * @param {dialog} 是否顯示正在載入提示
 * @param {router} 後臺路由地址
 * @param {data}   請求引數
 * @param {method} 請求方式
 */

export class httpService {
    request (dialog, router, data 
= {} ,method ) { // 定義基礎請求地址 let baseUrl = "https://www.easy-mock.com/mock/5ad7011f7e015b7701c45150/" //這裡放基礎地址 // token驗證 let token = '' // 判斷是否開啟正在載入提示 dialog && wx.showLoading({ title: '玩命載入中', mask:true }) // 返回一個promise return new Promise((resolve,reject)=> { wx.request({ url:`${baseUrl}${router}`, data, method, header: { Accept:
"application/json; charset=utf-8", token }, success (res) { // 判斷成功走resolve,其他走reject res.statusCode===200? resolve(res.data) : reject(res.data) // 關閉正在載入 dialog && wx.hideLoading(),2000 }, fail (error) {
// 請求錯誤提示 wx.showToast({ title: '伺服器錯誤!', duration: 2000, icon: 'none' }) } }) }) } }