函数封装 func.js
// 捕获 await 的错误 export const to = (promise, errorExt, ) => { return promise //成功,则error返回null,result返回data .then((data) => [null, data]) //错误则捕获错误内容,然后返回错误信息,result为undefined .catch((err) => { if (errorExt) { const parsedError = Object.assign({}, err, errorExt); return [parsedError, undefined]; } return [err, undefined]; }); }
使用
import { to } from './func.js'
//进行错误捕获和处理 handleFetch 为请求接口的 promise const [err, res] = await to(handleFetch()); if (err) { //对错误进行处理 return }
实战范例
const [err, res] = await to(db.collection('stock').add(params)) if (err) { uni.showToast({ title: '新增失败!', icon: 'fail' }); return } if (res.result.errCode === 0) { uni.showToast({ title: '新增成功!' }); }