DeferredPromise type
DeferredPromise
타입은 생성된 후에 해결(resolve)되거나 거부(reject)될 수 있는 프라미스를 설명하는 데 사용됩니다.
type DeferredPromise<T> = Promise<T> & {
__deferredState: DeferredPromiseState<T>;
};
type DeferredPromiseState<T> = { uid: string } & (
| {
status: "pending";
data?: T;
error?: unknown;
}
| {
status: "success";
data: T;
}
| {
status: "error";
data?: T;
error: unknown;
}
);