js 捕获 await 的报错

发布时间:2024年01月11日

函数封装 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: '新增成功!'
	});
}
文章来源:https://blog.csdn.net/weixin_41192489/article/details/135539455
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。