awaitMediaLoaded.js 1.1 KB

1234567891011121314151617181920212223242526272829
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var env_1 = require("../env");
  4. var isMediaLoaded_1 = require("./isMediaLoaded");
  5. function awaitMediaLoaded(media) {
  6. return new Promise(function (resolve, reject) {
  7. if (media instanceof env_1.env.getEnv().Canvas || isMediaLoaded_1.isMediaLoaded(media)) {
  8. return resolve();
  9. }
  10. function onLoad(e) {
  11. if (!e.currentTarget)
  12. return;
  13. e.currentTarget.removeEventListener('load', onLoad);
  14. e.currentTarget.removeEventListener('error', onError);
  15. resolve(e);
  16. }
  17. function onError(e) {
  18. if (!e.currentTarget)
  19. return;
  20. e.currentTarget.removeEventListener('load', onLoad);
  21. e.currentTarget.removeEventListener('error', onError);
  22. reject(e);
  23. }
  24. media.addEventListener('load', onLoad);
  25. media.addEventListener('error', onError);
  26. });
  27. }
  28. exports.awaitMediaLoaded = awaitMediaLoaded;
  29. //# sourceMappingURL=awaitMediaLoaded.js.map