promise.all 动态加载cdn
时间: 2024-01-27 08:15:24 浏览: 30
```javascript
// 动态加载CDN资源的例子
function loadScript(url) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = url;
script.onload = resolve;
script.onerror = reject;
document.head.appendChild(script);
});
}
const cdnUrls = [
'https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js',
'https://cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js',
];
Promise.all(cdnUrls.map(url => loadScript(url)))
.then(() => {
console.log('CDN资源加载完成');
// 在这里可以使用加载的CDN资源
// 例如,可以使用Vue和Axios
// Vue.use(...)
// axios.get(...)
})
.catch(error => {
console.error('CDN资源加载失败', error);
});
```
相关问题
Promise.all([ 搜狗浏览器 SCRIPT5009: “Promise”未定义
这个错误提示是因为该浏览器不支持 Promise 对象,你可以尝试升级浏览器版本或者使用 Polyfill 库来解决这个问题。Polyfill 库可以为不支持某些新特性的浏览器提供兼容性支持,你可以在代码中引入对应的 Polyfill 库来解决该问题。例如,你可以使用 es6-promise 库来提供对 Promise 对象的支持。在代码中引入该库的方式如下:
```html
<!-- 在 head 标签中引入 es6-promise 库 -->
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4.2.8/dist/es6-promise.auto.min.js"></script>
```
引入之后,你就可以在代码中使用 Promise 对象了。
Promise.all([ IE浏览器报错SCRIPT5009: “Promise”未定义
这个错误通常是因为 IE 浏览器不支持 Promise 对象,因此需要使用 polyfill 或者转换器来解决这个问题。
你可以尝试使用一个 polyfill,比如 es6-promise,来解决这个问题。只需要在代码中引入这个库即可:
```html
<script src="https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.min.js"></script>
```
如果你使用了 webpack 等构建工具,也可以在项目中安装 es6-promise 并在代码中通过 import 引入。
另外,你也可以使用一个转换器,比如 Babel,将 Promise 对象转换为 ES5 兼容的代码。只需要在项目中安装 Babel 并配置相应的插件即可。
无论是哪种方式,都可以解决 IE 浏览器不支持 Promise 对象的问题。