downloadRequest

Takes a Request object and requests it asynchronously, then uses downloadBlob to download the response as a file.

This is mainly useful for requests that take a long time to process on the server, such as some reports. This functions also provides a method to get progress updates.

export declare type DownloadItem = {
  status:
    | "cancelled"
    | "error"
    | "requested"
    | "downloading"
    | "downloaded"
    | "completed";
  bytesReceived?: number;
  error?: string;
};

export declare type DownloadParameters = {
  signal?: AbortSignal;
  fileName: string;
  onProgress?: (progress: DownloadItem) => void;
};

export declare function downloadRequest(
  request: Request,
  { fileName, signal, onProgress }: DownloadParameters
): Promise<void>;

Last updated

Was this helpful?