20 lines
553 B
JavaScript
20 lines
553 B
JavaScript
// uni-app Promise 适配:把 [err, data] 风格的返回值统一为 resolve/reject。
|
|
uni.addInterceptor({
|
|
returnValue (res) {
|
|
if (!(!!res && (typeof res === 'object' || typeof res === 'function') && typeof res.then === 'function')) {
|
|
return res
|
|
}
|
|
|
|
return new Promise((resolve, reject) => {
|
|
res.then((value) => {
|
|
if (!value) {
|
|
return resolve(value)
|
|
}
|
|
|
|
// uni API Promise 通常返回 [error, result]。
|
|
return value[0] ? reject(value[0]) : resolve(value[1])
|
|
})
|
|
})
|
|
}
|
|
})
|