在http://stackoverflow.com/questions/7718935/load-scripts-asynchronously看到的,雖然這不是新東西,不過弄的那麼方便還是很厲害,真是好東西。
function loadScript(src) {
return new Promise(function(resolve, reject) {
var s;
s = document.createElement('script');
s.src = src;
s.onload = resolve;
s.onerror = reject;
document.head.appendChild(s);
});
}
例如:
loadScript('https://ajax.googleapis.com/ajax/libs/mootools/1.6.0/mootools.min.js').then(function() {
loadScript('https://foo.com/js/index.min.js?17041301').then("initPage()");
});
非同步的方式先載入 MooTools 之後,再非同步載入我自己的 index.min.js,然後執行initPage();。