js中如何避免动态引入重复资源
Posted 大棒子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中如何避免动态引入重复资源相关的知识,希望对你有一定的参考价值。
创建存储数据的数组或者对象;
每次调用方法的时候,往里面添加资源对象,包括路径;
每次调用的时候遍历此路劲是否存在,如存在,就调用此资源对象的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));
}
以上是关于js中如何避免动态引入重复资源的主要内容,如果未能解决你的问题,请参考以下文章
如何避免 as.numeric() 中的“警告消息:强制引入的 NA”[重复]