@etop/await-err-handle
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

await-err-handle

功能

  1. 使用 to 包装的异步函数可以直接拿到 err 和 res,不必使用 try-catch
  2. 可以配置统一的错误处理函数,减少一些通用的逻辑的书写,例如业务中出错默认提示后端返回的错误信息或“系统错误”
  3. 通过配置 to 的第二个参数可以实现某个函数出错时显示特定的错误信息,允许配置该函数不走默认的错误处理逻辑

用法

  1. 安装
npm i -S @etop/await-err-handle
  1. main.ts 中注册统一的错误处理函数(可选,不注册即没有统一逻辑)
import to from '@etop/await-err-handle'

to.prototype.register((err: string | Resp<any>) => {
  // 内部逻辑自定义,表示统一的错误处理
  // ...
})

例如,将逻辑设置为:优先展示用户自定义的错误信息,没有的话展示后端返回的错误信息,兜底展示 “系统错误”,则写入如下逻辑代码:

import to from '@etop/await-err-handle'

to.prototype.register((err: string | Resp<any>) => {
  const msg = (typeof err === 'string' ? err : err.msg) || '系统错误'
  Message.error(msg)  // 需要导入 element
})
  1. 在需要使用的组件中导入,将异步方法放在 to 函数的参数里,errorMsg 参数根据业务需求自定义
import to from '@etop/await-err-handle'
// ...

// 出错时显示自定义错误信息(会覆盖 register 中设置的错误信息)
const [err1, res1] = await to(asyncFn1(param), '自定义错误信息')
// 出错时什么都不做(不走 register 中函数的逻辑),与不写 register 效果相同
const [err2, res2] = await to(asyncFn2(param), false)
// 出错时显示 register 中配置的默认提示信息
const [err3, res3] = await to(asyncFn3(param))

// ... 对请求结果或错误做处理

Readme

Keywords

none

Package Sidebar

Install

npm i @etop/await-err-handle

Weekly Downloads

1

Version

1.0.5

License

ISC

Unpacked Size

4.9 kB

Total Files

5

Last publish

Collaborators

  • maliut
  • oliverbi
  • yujie123
  • shlroland
  • evanwei
  • bigmonkey
  • samilywang
  • wwavelet