to【异步错误处理】🔥🔥🔥
描述
方便处理异步 promise 错误处理
# 1.示例
import { to } from 'sf-utils2'
const [res, err] = await to(api.xxxx)
=>
等价于
try {
const res = await api.xxx
} catch(err) {
console.log(err)
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 2.入参说明
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
|---|---|---|---|---|
| promise | promise 对象 | Promise | 是 | - |
| errorExt | 错误拓展属性 | Object | - | {} |
# 3.源码
源码,点开查看 👈
/**
* 方便处理异步promise错误处理
* @param { Promise } promise
* @param { Object } errorExt - 可以传递给err对象的其他信息
* @return { Promise }
* @description 对promise二次加工
* @example
* const [res, err] = await asyncTo(api.xxxx)
*/
function asyncTo(promise, errorExt = {}) {
return promise
.then(function (data) {
return [data, undefined]
})
.catch(function (err) {
if (errorExt) {
Object.assign(err, errorExt)
}
return [undefined, err]
})
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
上次更新: 2023/10/05, 18:35:04