Skip to content

go

Static Badge

模仿 Go 语言的错误处理风格,执行一个函数(异步或普通),返回一个 fulfilled 的 Promise,其值在成功时为 [Awaited<result>, null],在失败时为 [null, error]

Added in v0.0.4

Usage

ts
import { go } from 'parsnip-kit'

function getUltraAnswer() {
  return Promise(resolve => setTimeout(resolve, 750))
}
const [result0, error0] = await go(getUltraAnswer)
// [42, null]
if (error0 !== null) {
  // do something...
}

function throwErrorExample() {
  throw new Error('test')
}
const [result1, error1] = await go(throwErrorExample)
// [null, Error: test]

API

Type Parameter

ArgTypeDescription
T函数返回值的类型
U= any错误的类型(默认为 any

Arguments

ArgTypeOptionalDefaultDescription
func(...x: any[]) => Tfalseundefined要执行的函数

Returns

Type
Promise<[T, null] | [null, U]>