promise封装小程序的请求方法

// 在utils-->base.js中,封装一个Base类,有一个axios方法
class Base{
  constructor(){

  }
  axios(method,url,data){
    console.log("调用到了axios")
    let method = method || "POST"; // 不传默认为POST方式
    let rootUrl ="https://api.ichongwujia.com/pet-api/";
    let data=data || {}; // 不传默认为{}
    return new Promise((res,rej)=>{
      wx.request({
        method: method, 
        url: rootUrl + url,
        data:data,
        success(data){
          if(data.tatusCode===200){
            res(data)
          }else{
            res(data)
          }
        },
        fail(err){
          rej(err)
        }
      })
    })
  }
}
export default Base;



// 在另外一个js文件(index-model.js)中,继承Base类,有用它的axios方法
import Base from "../../utils/base.js";
class Home extends Base{
  constructor(){
    super();
  }
}
export default Home;


// 在哪里用就在哪里引入
import Home from "./index-model.js";
const home = new Home();
Page({
  data:{

  },
  onLoad(){
    // home.axios()  // 会打印出 调用到了axios
    home.axios("POST","miniprogram/index",{a:1,b:2})
    .then((data)=>{
      console.log(data)
    }).catch((err)=>{
      console.log(err)
    });
  }
})

猜你喜欢

转载自www.cnblogs.com/wuqilang/p/12070405.html