微信小程序 uni-app request 模仿axios二次封装

本文介绍了如何基于uni-app和微信小程序,模仿axios实现一个二次封装的request网络请求库。提供简单易用的API,方便开发者快速进行网络数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码:

// request.js
import defaultsDeep from 'lodash.defaultsdeep'
// 本文件,包裹uni.request请求方法,模拟axios使用方式的插件

function forEach(obj, fn) {
   
  if (obj === null || typeof obj === 'undefined') {
   
    return
  }

  if (typeof obj !== 'object') {
   
    obj = [obj]
  }

  if (Object.prototype.toString(obj) === '[object Array]') {
   
    for (var i = 0, l = obj.length; i < l; i++) {
   
      fn.call(null, obj[i], i, obj)
    }
  } else {
   
    for (var key in obj) {
   
      if (Object.prototype.hasOwnProperty.call(obj, key)) {
   
        fn.call(null, obj[key], key, obj)
      }
    }
  }
}

export const objectAssign = function(...args) {
   
  const __assign =
    Object.assign ||
    function __assign(t) {
   
      for (let s, i = 1, n = arguments.length; i < n; i++) {
   
        s = arguments[i]
        for (const p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
      }
      return t
    }
  return __assign.apply(this, args)
}

function InterceptorManager() {
   
  this.handlers = []
}

InterceptorManager.prototype.use = function use(fulfilled, rejected) {
   
  this.handlers.push({
   
    fulfilled: fulfilled,
    rejected: rejected
  })
  return this.handlers.length - 1
}
InterceptorManager.prototype.eject = function eject(id) {
   
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值