Promise/Observable
Методы объекта Http после выполнения запроса возвращают объект Observable, который определен в библиотеке RxJS ("Reactive Extensions"). Она не является непосредственно частью Angular, однако широко используется особенно при взаимодействии с сервером по http. Эта библиотека реализует паттерн "асинхронный наблюдатель" (asynchronous observable). Так, выполнение запроса к серверу с помощью класса Http выполняются в асинхронном режиме.
Естественно чтобы задействовать функционал RxJS в приложении, в файле package.json должна быть указана соответствующая зависимость "rxjs": "5.0.2"
Promises
andObservable
дают нам абстракции, которые помогают нам справляться с асинхронным характером наших приложений. Однако между ними существуют важные различия:
Observables
может быть отмененObservables
- это событие, на которые можно подписаться несколько разObservables
имеет различные операторыmap
,forEach
,reduce
, ...
Обязательно прочитать:
https://learn.javascript.ru/promise
https://angular-2-training-book.rangle.io/handout/http/
https://angular.io/docs/ts/latest/guide/server-communication.html