源码:
// 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) {