如何使用Promise来封装wx.request

##如何使用Promise来封装wx.request

在根目录中创建一个http文件,在里面依次添加api.js,fetch.js以及http.js 

代码如下:

举例:

fetch.js:

/fetch.js

module.exports=(url,data,method)=>{
  wx.showLoading()
  let p=new Promise((resolve,reject)=>{
    wx.request({
      url: url,
      data:data,
      method:method,
      success(res){
        resolve(res)
        wx.hideLoading()
      },
      fail(err){
        reject(err)
      }
    })
  })
  return p
}

api.js:

// 用来导出接口中不同的效果
module.exports={
  swiper:'/home/swiperdata',
  fen:"/home/catitems",
  floor:"/home/floordata",
  nav:"/categories",
  list:"/goods/search",
  detail:"/goods/detail",
  sou:"/goods/qsearch"
}

http.js:

//通过引入api.js以及fetch.js 来将接口中的data以及method方法打包成函数暴漏的页面当中

let p =require('./fetch')

let api=require('./api')

let baseUrl="https://api-hmugo-web.itheima.net/api/public/v1"

function banner(){
  return p(baseUrl+api.swiper,{},"get")
}

function fen(){
  return p(baseUrl+api.fen,{},"get")
}
function floor(){
  return p(baseUrl+api.floor,{},"get")
}
function nav(){
  return p(baseUrl+api.nav,{},"get")
}
function list(data){
  return p(baseUrl+api.list,data,"get")
}
function detail(id){
  return p(baseUrl+api.detail,{goods_id:id},"get")
}
function sou(key){
  return p(baseUrl+api.sou,{query:key},"get")
}
module.exports={
  banner,
  fen,
  floor,
  nav,
  list,
  detail,
  sou,
}

然后需要在全局的app.js中导入http.js 这样就可以全局的使用我们封装的wx.request,在每个需要引入的页面中的js 通过let app=new getapp(); 来实现使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值