Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

preloadImage.web.js 522B

123456789101112131415161718192021222324
  1. // @flow
  2. import { isIconUrl } from './functions';
  3. /**
  4. * Tries to preload an image.
  5. *
  6. * @param {string | Object} src - Source of the avatar.
  7. * @returns {Promise}
  8. */
  9. export function preloadImage(src: string | Object): Promise<string> {
  10. if (isIconUrl(src)) {
  11. return Promise.resolve(src);
  12. }
  13. return new Promise((resolve, reject) => {
  14. const image = document.createElement('img');
  15. image.onload = () => resolve(src);
  16. image.onerror = reject;
  17. image.src = src;
  18. });
  19. }