Promise

2025-09-01 16:23:20

统一使用 try/catch

try-catch.ts
test.ts
          async function 
tryCatch
<
T
>(
promise
:
Promise
<
T
>):
Promise
<[
Error
| null,
T
| null]> {
try { const
res
= await promise
return [null,
res
] as [null,
T
]
} catch (
error
) {
return [
error
as
Error
, null] as [
Error
, null]
} }
          async function 
task
() {
await
Promise
.
resolve
(0)
const
n
=
Math
.
random
()
if (
n
>= 0.5) return n
throw new
Error
(`Running failed because n < 0.5(n=${
n
})`)
} async function
main
() {
const [
err
,
data
] = await
tryCatch
(
task
())
console
.
log
({
err
,
data
})
}
main
()
© 2021-2025 sunshj's Blog