import { Promise } from 'es6-promise';
function loadScript(url) {
let script = Array.from(document.scripts).find((s) => s.src === url);
if (script) {
return Promise.resolve(url);//①
}
return new Promise(function(resolve, reject) { //②
script = document.createElement('script');
script.addEventListener('load', function() { resolve(url); }, false);
script.addEventListener('error', function() { reject(url); }, false);
script.src = url;
document.body.appendChild(script);
});
1、②处是定义了一个Promise
对象,和①处的区别是什么?
2、①处Promise.resolve(url)
为什么把这个url放进去?
这段代码的意思不应该是该url加载完之后
,执行。 它怎么知道url
什么时候加载完?
隔江千里
相关分类