Select Git revision

Philipp Pospischil authored
jsonp.js 727 B
const callbacks = {}
window.gotIt = (filename, data) => callbacks[filename](data)
export async function loadStaticJsonP(filename) {
return new Promise((resolve, reject) => {
const inFlight = callbacks[filename]
if (inFlight === undefined) {
const script = document.createElement("script")
callbacks[filename] = data => {
script.remove()
delete callbacks[filename]
resolve(data)
}
script.src = filename
document.body.appendChild(script)
} else {
// already loading the same file, call the existing callback first
callbacks[filename] = data => {
inFlight(data)
resolve(data)
}
}
})
}