創建存儲數據的數組或者對象;
每次調用方法的時候,往里面添加資源對象,包括路徑;
每次調用的時候遍歷此路勁是否存在,如存在,就調用此資源對象的promise進行操作。
可避免資源未加載完成就執行的情況。
var arr = [];
function getStyle(src){
let script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.defer = true;
script.src = src;
arr.find(e => e.src === src) || document.head.appendChild(script);
arr.find(e => e.src === src) || arr.push({
src: src,
promise: new Promise((rev,rej) => {
script.onload = () => rev(222)
})
});
return arr.find(e => e.src === src).promise;
}
for(var i = 0;i < 20;i++){
getStyle('https://code.jquery.com/jquery-3.1.1.min.js').then((a)=>console.log(a));
}
