Abort image requests on unmount (#624)

This commit is contained in:
schroda
2024-03-01 01:17:23 +01:00
committed by GitHub
parent 900a6c1609
commit f852ce70e7
2 changed files with 56 additions and 12 deletions

View File

@@ -746,6 +746,18 @@ export class RequestManager {
return `${this.getValidUrlFor(imageUrl, apiVersion)}`;
}
public requestImage(url: string): { response: Promise<string> } & AbortableRequest {
const { abortRequest, signal } = this.createAbortController();
const response = this.restClient
.fetcher(url, {
checkResponseIsJson: false,
config: { signal, responseType: 'blob' },
})
.then((data) => URL.createObjectURL(data));
return { response, abortRequest };
}
private doRequest<Data, Variables extends OperationVariables = OperationVariables>(
method: GQLMethod.QUERY,
operation: DocumentNode | TypedDocumentNode<Data, Variables>,