Guest User

Untitled

a guest
Oct 17th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. // Установка картинок
  2. set images(images: ImagePosition[]) {
  3.  
  4. let loadObservables: Observable<ImagePosition>[] = [];
  5.  
  6. images.forEach(image => {
  7.  
  8. // Создаем нативнй элемент для оригинальных размеров картинки.
  9. image.nativeImage = new Image();
  10.  
  11. // Создаем объект подписки на загрузку картинки.
  12. let observable = fromEvent(image.nativeImage, "load").pipe(map(() => image));
  13.  
  14. //todo on error
  15. observable.subscribe((image) => this.proceedImage(image));
  16.  
  17. loadObservables.push(observable);
  18.  
  19.  
  20. });
  21.  
  22. // Подписываемся на момент когда все картинки загрузились. Порядок ответов такой же как во входящем массиве.
  23. zip(loadObservables).subscribe( (response) => {
  24. console.log(response); // <--- не происходит.
  25. this.privateImages = response;
  26. this.changeDetector.detectChanges();
  27. });
  28.  
  29. // Запускаем загрузку(картинка все равно закешируется)
  30. images.forEach(image => image.nativeImage.src = image.imageUrl);
  31.  
  32. };
Add Comment
Please, Sign In to add comment