外观
服务层
业务逻辑以 TReturn<T> 格式返回:
typescript
type TReturn<T> = [Error | null, T | undefined];1
typescript
export async function getUserInfo(id: number): TReturn<UserInfo> {
try {
const user = await knex("user").where({ id }).first();
return [null, user];
} catch (err) {
return [err as Error, undefined];
}
}1
2
3
4
5
6
7
8
2
3
4
5
6
7
8