Marcin Grzywaczewski: Observables are actually a little lower level than a promise, believe it or not. Observables can be sync or async, they can be unicast or multicast, and they’re zero to N values. Promises are always async, always multicast, and always one value. Also promises are immediately invoked where observables are lazy. One could build a promise from an observable, but not the other way around.