mirror of
https://github.com/protomaps/PMTiles.git
synced 2026-02-04 10:51:07 +00:00
maplibre: cancel correctly captued in closure [#6]
This commit is contained in:
@@ -206,22 +206,24 @@ export const addProtocol = maplibre_instance => {
|
|||||||
let z = result[2]
|
let z = result[2]
|
||||||
let x = result[3]
|
let x = result[3]
|
||||||
let y = result[4]
|
let y = result[4]
|
||||||
var cancel = () => {}
|
var cancel = () => { }
|
||||||
instance.getZxy(+z,+x,+y).then(val => {
|
instance.getZxy(+z,+x,+y).then(val => {
|
||||||
if (val) {
|
if (val) {
|
||||||
let headers = {'Range':'bytes=' + val[0] + '-' + (val[0]+val[1]-1)}
|
let headers = {'Range':'bytes=' + val[0] + '-' + (val[0]+val[1]-1)}
|
||||||
const controller = new AbortController()
|
const controller = new AbortController()
|
||||||
const signal = controller.signal
|
const signal = controller.signal
|
||||||
|
cancel = () => { controller.abort() }
|
||||||
fetch(pmtiles_url,{signal:signal,headers:headers}).then(resp => {
|
fetch(pmtiles_url,{signal:signal,headers:headers}).then(resp => {
|
||||||
return resp.arrayBuffer()
|
return resp.arrayBuffer()
|
||||||
}).then(arr => {
|
}).then(arr => {
|
||||||
callback(null,arr,null,null)
|
callback(null,arr,null,null)
|
||||||
|
}).catch(e => {
|
||||||
|
callback(new Error("Canceled"),null,null,null)
|
||||||
})
|
})
|
||||||
cancel = controller.abort
|
|
||||||
} else {
|
} else {
|
||||||
callback(null,new Uint8Array(),null,null)
|
callback(null,new Uint8Array(),null,null)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return { cancel: cancel }
|
return { cancel: () => { cancel() } }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user