欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

react-native 中封装 feach 传参的 get 请求

程序员文章站 2022-07-16 14:46:07
...
/**
 * @class Http   api接口类
 * @method get   get请求方法
 * @param  {url:'传入的url',params:“传入的参数,一般是个对象”}
 *  
 */
 // 模拟一个接口地址
 let dev = "http://180.97.82.78:10130";

export default class Http {
  // 静态方法
  static get(url, params) {
  	// 将后台接口的公共部分拼接进去 
    url = dev + url;
    //判断有木有参数
    if (params) {
        // 定一个空数组
      let paramsArray = [];
      //  拆分对象
      Object.keys(params).forEach(key =>
        paramsArray.push(key + "=" + params[key])
      );
        // 判断是否地址拼接的有没有 ?,当没有的时候,使用 ?拼接第一个参数,如果有参数拼接,则用&符号拼接后边的参数   
      if (url.search(/\?/) === -1) {
        url = url + "?" + paramsArray.join("&");
      } else {
        url = url + "&" + paramsArray.join("&");
      }
    }
    // 返回一个promise 
    return new Promise((resolve, reject) => {
      //fetch请求
      fetch(url, { method: "GET" })
        .then(response => response.json())
        .then(resulet => {
          resolve(resulet);
        })
        .catch(error => {
          reject(error);
        });
    });
  }
}

/**
 * 使用 :
 * 1.引入这个js文件,
 * 如:import Ajax from '你的路径'
 * 2. 直接调用
 *      let obj = { mobile: phone_number,userName:'二五' }
        // 将获取的电话号码传入接口
        Http.get('/member/checkNum',obj).then(res=>{
            console.log(res)
        })
 */
相关标签: RN