Подход для решения проблемы с асинхронным и отложенные сценарии - использовать обработчик onload - установить обработчик onload для всех тегов скриптов, а первый из них должен быть вашим.
function getCurrentScript(callback) {
if (document.currentScript) {
callback(document.currentScript);
return;
}
var scripts = document.scripts;
function onLoad() {
for (var i = 0; i < scripts.length; ++i) {
scripts[i].removeEventListener('load', onLoad, false);
}
callback(event.target);
}
for (var i = 0; i < scripts.length; ++i) {
scripts[i].addEventListener('load', onLoad, false);
}
}
getCurrentScript(function(currentScript) {
window.console.log(currentScript.src);
});
JB ударил ногтем по голове. Единственное, что я могу добавить, - это то, что Java 8 не выполняет чисто параллельную обработку, а выполняет частичное . Да, я написал эту статью и уже тридцать лет занимаюсь F / J, поэтому понимаю проблему.