I think that @dtaalbers provided a good starting point.
I would also recommend you to check out the following resources:
However note that currently there’s a zone.js
issue which breaks Angular’s change detection when using Observables in combination with HTTP requests so you might need to use a workaround (check out the linked post for more details):