SEC_Warehouse/uni.promisify.adaptor.js

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])
})
})
}
})