go
この関数は 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
| Arg | Type | Description |
|---|---|---|
T | | 関数の戻り値の型 |
U | = any | エラーの型(デフォルトはany) |
Arguments
| Arg | Type | Optional | Default | Description |
|---|---|---|---|---|
func | (...x: any[]) => T | false | undefined | 実行する関数 |
Returns
| Type |
|---|
Promise<[T, null] | [null, U]> |