Skip to content

tryit

将函数转换为错误优先函数

240 bytes
since v12.1.0

使用方法

错误优先回调很酷。在进行 try/catch 时使用可变变量来提升状态并不酷。

tryit 函数让您包装一个函数以将其转换为错误优先函数。适用于异步和同步函数。

import * as _ from 'radashi'
const api = {
users: {
find: async (id: number) => id < 3 ? { id, name: 'Alice' } : throw new Error('Not found'),
},
}
const userIdA = 1
const userIdB = 3
const [err, user] = await _.tryit(api.users.find)(userId) // [null, { id: 1, name: 'Alice' }]
const [err, user] = await _.tryit(api.users.find)(userIdB) // [Error('Not found'), undefined]

柯里化

如果您喜欢,可以对 tryit 进行柯里化。

import * as _ from "radashi";
const findUser = _.tryit(api.users.find);
const [err, user] = await findUser(userId);