Как подождать пока скрипт загрузится?
const loadScript = (url, callback) => {
	const script = document.createElement('script');
	script.addEventListener('load', () => {
		callback();
	});

	script.src = url;

	document.body.append(script);
};

loadScript('SOME_URL', () => {
	console.log('Скрипт загружен');
});
const loadScript = url => new Promise(resolve => {
	const script = document.createElement('script');
	script.addEventListener('load', () => {
		resolve();
	});

	script.src = url;

	document.body.append(script);
});

loadScript('SOME_URL').then(() => {
	console.log('Скрипт загружен');
});
Вопрос решил так, написал, чтобы не забыть

startFunc();

function startFunc() {

   // Подключаем jQuery, если она еще не подключена
   if(!window.jQuery) {
    const script = document.createElement('script');
    script.type = "text/javascript";
    script.src = 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js';
    // Слушаем, когда jQuery загрузится и загружаем внешний
    script.addEventListener('load', ()=> { scriptLoad(); });
    document.body.append(script);
  } else {
    scriptLoad();
  }

  // Загрузка внешнего скрипта
  function scriptLoad() {
		const script = document.createElement('script');
	  script.type = "text/javascript";
	  script.src = 'https://cdn.jsdelivr.net/npm/suggestions-jquery@20.2.2/dist/js/jquery.suggestions.min.js';
	  // Слушаем, когда загрузится внешний скрипт и запускаем функцию
	  script.addEventListener('load', ()=> { scriptInit(); });
	  document.body.append(script);
  }

	// Инициализация функции
	function scriptInit() { }
}