Любой скрипт может сформировать динамически любое количество скриптов.
HTML (загружаем асинхронно скрипт)
<script src="..." async></script>
JS (в асинхронно загружаемом скрипте загружаем асинхронно ещё один скрипт)
var script = document.createElement('script');
script.src = '...';
script.async = true;
document.head.appendChild(script);
Update: При каждой вставке скрипта документ со статуса
complete переходит в состояние
interactive. Если во втором скрипте нужно делать что-то только после построения
DOM, то нужно проверять так:
if (document.readyState != 'loading') {
// Делаем что нужно
} else {
document.addEventListener('DOMContentLoaded', function () {
// Делаем что нужно
});
}