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]>