Skip to main content

traceAsync

Abstrae el seguimiento de la request y recibe como segundo parametro la promesa que retorna el objeto resultando de la request.

RequestComponent.tsx
import {
useRequest,
AsyncRequestRender,
} from "@rodlopez/clean-code";

interface TypeOfResult {
name: string;
email: string;
}

const RequestComponent = () => {
const request = useRequest<TypeOfResult, any>();

const mockPromise = async (): Promise<TypeOfResult> => {...};

useEffect(() => {
// to do something
request.traceAsync(mockPromise());
// to do something
}, []);

return (
<AsyncRequestRender
request={request}
RenderLoading={<MyLoadingUIMock />}
Render={(user) => <MyUserUIMock />}
RenderError={(errorObject) => <MyErrorUIMock error={errorObject} />}
/>
);
};
Importante

El segundo genérico recibido por el hook traceAsync representa el tipado del objeto de error que se recibe, al usar traceAsync lo recomendable es ocupar any o de preferencia unknown