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 = 1const 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);