awaitMediaLoaded.js 947 B

1234567891011121314151617181920212223242526
  1. import { env } from '../env';
  2. import { isMediaLoaded } from './isMediaLoaded';
  3. export function awaitMediaLoaded(media) {
  4. return new Promise(function (resolve, reject) {
  5. if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) {
  6. return resolve();
  7. }
  8. function onLoad(e) {
  9. if (!e.currentTarget)
  10. return;
  11. e.currentTarget.removeEventListener('load', onLoad);
  12. e.currentTarget.removeEventListener('error', onError);
  13. resolve(e);
  14. }
  15. function onError(e) {
  16. if (!e.currentTarget)
  17. return;
  18. e.currentTarget.removeEventListener('load', onLoad);
  19. e.currentTarget.removeEventListener('error', onError);
  20. reject(e);
  21. }
  22. media.addEventListener('load', onLoad);
  23. media.addEventListener('error', onError);
  24. });
  25. }
  26. //# sourceMappingURL=awaitMediaLoaded.js.map