/** * 用于处理异步函数的错误 * @param promise {Promise} 异步函数 * @returns {Promise} [err, val] */ export function handle (promise){ return new Promise(resolve => { try{ promise.then(val => { resolve([null, val]) }).catch(err => { resolve([err,null]) }) }catch(err){ resolve([err,null]) } }) } export function handleAll() { return new Promise(resolve => { try{ // arguments 转数组 let arr = [...arguments] // console.log(arr) // console.log(typeof arr) Promise.all(arr).then(val => { // console.log(val); resolve([null, ...val]) }).catch(err => { resolve([err]) }) }catch(err){ resolve([err]) } }) } export default { handle, handleAll }