小程序-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.statusCode===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)
    });
  }
})
复制代码
posted @   吴小明-  阅读(530)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示