diff --git a/js/index.src.mjs b/js/index.src.mjs index b65d9c3..4519a18 100644 --- a/js/index.src.mjs +++ b/js/index.src.mjs @@ -206,22 +206,24 @@ export const addProtocol = maplibre_instance => { let z = result[2] let x = result[3] let y = result[4] - var cancel = () => {} + var cancel = () => { } instance.getZxy(+z,+x,+y).then(val => { if (val) { let headers = {'Range':'bytes=' + val[0] + '-' + (val[0]+val[1]-1)} const controller = new AbortController() const signal = controller.signal + cancel = () => { controller.abort() } fetch(pmtiles_url,{signal:signal,headers:headers}).then(resp => { return resp.arrayBuffer() }).then(arr => { callback(null,arr,null,null) + }).catch(e => { + callback(new Error("Canceled"),null,null,null) }) - cancel = controller.abort } else { callback(null,new Uint8Array(),null,null) } }) - return { cancel: cancel } + return { cancel: () => { cancel() } } }) }