• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序如何支持使用async/await发布时间:2022-07-18
下一篇:
【小程序】获取自定义属性发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap