使用promise封装微信we.request进行数据请求

时间:2019-12-27 19:26:12   收藏:0   阅读:101

wx.request的进一步加工

技术图片

// siteinfo.js
module.exports = {
  name: '接口说明',  // 可不写
  site_root: '公共接口'  // 公共接口地址  如:http://123.123.123.123:3000
}
// request
/**
 * 
 * @param {参数} params 
 */
function request (params) {
  let promise = new Promise ((resolve, reject) => {
    const baseURL = require('./siteinfo')
    // 开启标题栏加载效果
    wx.showNavigationBarLoading()
    wx.request ({
      url: baseURL.site_root + params.url,
      data: params.data,
      methods: params.methods === 'post' ? 'post' : 'get',
      headers: {
        'content-type': 'application/json'
      },
      success (res) {
        resolve (res)
      },
      fail (err) {
        reject (err)
      },
      complete (res) {
        // 关闭标题栏加载效果
        wx.hideNavigationBarLoading()
      }
    })
  })
  return promise
}

export default request
// api/songs.js
import request from '../request'

// 推荐最新音乐
export function newSongs () {
  return request ({
    url: '/personalized/newsong',
    methods: 'GET',
    data: {}
  })
}
// 首先在页面js中引入api
// 在pages/main/main.js中引入使用
import { newSongs } from '../../api/songs'

// 直接使用
newSongs ().then (res => {
    // 请求成功
    if (res && res.data.code === 200) {
        console.log(res.data.result)
    }
}).catch (rej => {
    // 请求失败
    console.log(rej)
})

// 调用实例
技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!