[ts] Process status code 0 properly, closes #1969

This commit is contained in:
Mario Zechner 2021-11-04 17:24:37 +01:00
parent f1a72be01b
commit d9bc3b010e

View File

@ -308,7 +308,7 @@ export class Downloader {
this.finish(url, request.status, request.response); this.finish(url, request.status, request.response);
}; };
request.onload = () => { request.onload = () => {
if (request.status == 200) if (request.status == 200 || request.status == 0)
this.finish(url, 200, new Uint8Array(request.response as ArrayBuffer)); this.finish(url, 200, new Uint8Array(request.response as ArrayBuffer));
else else
onerror(); onerror();
@ -330,7 +330,7 @@ export class Downloader {
private finish (url: string, status: number, data: any) { private finish (url: string, status: number, data: any) {
let callbacks = this.callbacks[url]; let callbacks = this.callbacks[url];
delete this.callbacks[url]; delete this.callbacks[url];
let args = status == 200 ? [data] : [status, data]; let args = status == 200 || status == 0 ? [data] : [status, data];
for (let i = args.length - 1, n = callbacks.length; i < n; i += 2) for (let i = args.length - 1, n = callbacks.length; i < n; i += 2)
callbacks[i].apply(null, args); callbacks[i].apply(null, args);
} }