его вкрутили в сам фреймворк? почему использование не сделали опциональным? если человек не сведущ в реактивном пр. то будет их юзать тупо как промисы
ты всегда можешь this.http.get(‘asdas’).toPromise() Но Observable лучше учить - они круче, их можно отменять ретраить, они ленивые и много чего другово плюс Observalbe будут частью стандарта JS https://github.com/tc39/proposal-observable
Потому что angular самый близкий к настоящим реактивным фреймворкам. Чего Реакту не снилось с его костылями.
У промисах есть фундаментальный недостаток - они выполняют обработчики асинхронно а обзерваблы синхронно Rx.Observable.timer(1000).map( ()=>console.log('foo') ).map( ()=>console.log('bar') ).subscribe()Здесь console.log('bar') выполнится синхронно сразу после того как выполнится console.log('foo') когда же в промисах new Promise(resolve=>setTimeout(resolve,1000)).then( ()=>console.log('foo') ).then( ()=>console.log('bar') )после того как выполнится console.log('foo') js не будет спешить сразу выполнять console.log('bar') а создаст некий таймаут чтобы подождать следующего js-тика и только тогда выполнит console.log('bar'). Нафига так делать не понятно. Неудивительно что обзерваблы быстрее промисов.
Обсуждают сегодня