要求クラスaxiosを使用してパッケージング

カプセル化の要求クラスaxios用

  1. クラスを構築するために、HTTP要求
  2. 静的メソッドを達成するための要求、パラメータを渡し、axiosを使用して要求を送信します
  3. requestExpectionは、オブジェクトを構築するために失敗した達成するための静的メソッド
  4. それは、このメソッドを呼び出すrequestExpectionに失敗した場合、成功リターンデータであれば、かどうかを判断するために成功した結果を達成するための静的メソッド
  5. リアライズのGET、POSTポータブル方法

サンプルコードは行きます:

// 提供ajax请求
// 对axios进行二次封装
import axios from 'axios'
import {HOST} from './api'

export default class Http{

  static async request(method, url, data){
    // 发送请求
    const response = await axios.request({
      method,
      url,
      baseURL: HOST,
      params: method === 'GET' ? data : null,
      data: method === 'POST' ? data : null
    });
    // 判断是否成功
    return this.isSuccess(response);
  };

  // 判断响应结果是否成功
  static isSuccess(res){
    if(res.status >= 200 && res.status < 300){
      return res;
    }else{
      this.requestExpection(res);
    }
  };

  // 构建失败对象
  static requestExpection(res){
    throw new Error(res);
  };

  // get便捷方法
  static get(url, data){
    return this.request('GET', url, data);
  };

  // post便捷方法
  static post(url, data){
    return this.request('POST', url, data);
  }

}

// 实例方法   对象方法   arr.push()     this代表实例对象
// 静态方法   类方法    Array.from()   this代表类

ああ、とても静か今日〜

公開された22元の記事 ウォン称賛33 ビュー1202

おすすめ

転載: blog.csdn.net/weixin_44691775/article/details/104433225