Когда становится доступной динамически загружаемая библиотека JavaScript?

Я написал библиотеку JavaScript для использованияFileSaver.js и связанные с ним библиотеки. Однако я не хочу всегда загружать FileSaver.js всякий раз, когда кто-то хочет использовать мою библиотеку. И я не хочу заставлять их загружать все различные библиотеки JavaScript, связанные с FileSaver,script сами теги (или даже загрузите один из моих, который сделал бы это).

Вместо этого я бы предпочел что-то вроде этого. Когда они называют мойcreateImage Функция сначала выполняет следующее:

function createImage(image, name) {
  if (typeof(saveAs) !== 'function') {
    var element = document.createElement('script');
    element.async = false;
    element.src = 'FileSaver.js';
    element.type = 'text/javascript';
    (document.getElementsByTagName('head')[0]||document.body).appendChild(element);
  }
  // now do the saveImage code
}

Проблема заключается в том,saveAs функция до сих пор не определена. Это толькопосле мойcreateImage завершает этоsaveAs функция окончательно определена.