UNPKG

@orca-fe/pocket

Version:

UI components by orca-team

24 lines 602 B
var cache = new Map(); export default function loadScript(src, callback = e => {}) { var p = cache.get(src); if (!p) { p = new Promise((resolve, reject) => { var script = document.createElement('script'); script.src = src; script.onload = function (e) { resolve(e); }; script.onerror = function (event, source, lineno, colno, error) { cache.delete(src); reject(error); }; document.body.appendChild(script); }); cache.set(src, p); } return p.then(() => { callback(); }).catch(err => { callback(err); }); }