You've already forked guangan-mp
1.0.0
This commit is contained in:
22
uni_modules/uni-ajax/js_sdk/lib/adapters/Fetcher.js
Normal file
22
uni_modules/uni-ajax/js_sdk/lib/adapters/Fetcher.js
Normal file
@ -0,0 +1,22 @@
|
||||
const PROMISE = Symbol('$$promise')
|
||||
|
||||
export default class Fetcher {
|
||||
get [Symbol.toStringTag]() {
|
||||
return '[object Fetcher]'
|
||||
}
|
||||
|
||||
constructor() {
|
||||
this[PROMISE] = new Promise((resolve, reject) => {
|
||||
this.resolve = resolve
|
||||
this.reject = reject
|
||||
})
|
||||
}
|
||||
|
||||
async source() {
|
||||
return this[PROMISE]
|
||||
}
|
||||
|
||||
async abort() {
|
||||
;(await this.source())?.abort()
|
||||
}
|
||||
}
|
16
uni_modules/uni-ajax/js_sdk/lib/adapters/http.js
Normal file
16
uni_modules/uni-ajax/js_sdk/lib/adapters/http.js
Normal file
@ -0,0 +1,16 @@
|
||||
export default function adapter(config) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const requestTask = uni.request({
|
||||
...config,
|
||||
complete: result => {
|
||||
// 根据状态码判断要执行的触发的状态
|
||||
const response = { config, ...result }
|
||||
!config.validateStatus || config.validateStatus(result.statusCode)
|
||||
? resolve(response)
|
||||
: reject(response)
|
||||
}
|
||||
})
|
||||
|
||||
config.fetcher?.resolve(requestTask)
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user