Skip to main content
Version: 11.x

Function: safe()

safe<TData, TErrorShape>(promise): Promise<SafeResult<TData, TErrorShape>>

Defined in: packages/client/src/safe.ts:38

Await a vanilla client query() or mutate() call without it throwing, getting back a [data, error] pair typed with that procedure's error shape.

Type Parameters​

Type Parameter
TData
TErrorShape

Parameters​

ParameterType
promiseTRPCPromise<TData, TErrorShape>

Returns​

Promise<SafeResult<TData, TErrorShape>>

Example​

ts
const [post, error] = await safe(client.post.byId.query({ id }));
if (error) {
console.error(error);
}
const id = post.id;
ts
const [post, error] = await safe(client.post.byId.query({ id }));
if (error) {
console.error(error);
}
const id = post.id;