小程序request请求用promise公共方法以及调用

// 1.方法:

const baseUrl = 'https://api.it120.cc';
// 配置接口请求的公共方法

const http =({url ='',param ={},method='',header={}}={}) =>{

  wx.showLoading({

    title: '请求中,请耐心等待...',

  });

  let timeStart = Date.now();

  return new Promise((resolve,reject)=>{

    wx.request({

      url: getUrl(url),

      data:param,

      method: method,

      header:header,

      complete:(res)=>{

          wx.hideLoading();//慎用hideLoading,会关闭wx.showToast弹窗

          console.log(`耗时${Date.now() - timeStart}`);

          if(res.statusCode ==200){//请求成功

            resolve(res.data)

          }else{

            reject(res);

          }

      }

    })

  })

}

// 获取url

const getUrl = (url)=>{

  if(url.indexOf('://')== -1){

    url = baseUrl +url ;

  }

  return url;

}

// 暴露出去调用的方法

const _api = (url,param ={},method,header)=>{

  return http({

    url,

    param,

    method:method?method:'get',

    header:header ? header : { "Content-Type": "application/json" },

  })

}

** // 方法暴露出去**

module.exports = {

  formatTime: formatTime,

  api:_api

}

// 2.掉用:

const until = require('../../utils/utils.js')


// 单个请求
until.api('/authorize',param,'post').then(res => {

    console.log("authorize:",res);

 }).catch(e => {

    console.log(e);

    wx.showToast({

        title: e.data.errMsg,

        icon: 'none',

        duration: 3000

    })

 })

// 一个页面多个请求

Promise.all([
  api.get('list'),
  api.get(`detail/${id}`)
]).then(result => {
  console.log(result)
}).catch(e => {
  console.log(e)
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值