When writing a loop using a paging API to fetch data for an Angular app, I felt so frustrated that I was very close to going back to Promises.
I came across lot of questions on the web but no convincing answers: some even proposing to subscribe to an Observable within the service implementation. However, I did not abandon Observables to return using Promises thanks to this very informative comparison. From there I picked an excellent article on reactive programming with RxJava which gave me hope.
After focussing on the use of the map and mergeMap operators, I managed a first implementation very similar to how I would write a solution to the same problem using Promises. To help me and others who have the same questions, I created a repository of angular code snippets. One is about RxJs Recursive Observable.
As a second stage, I introduced the reactive behaviour with the expand operator which I came across in the post. The RxJs Observable reactive recursivity code snippet illustrates the use of the expand operator to read a paging API.
Your feedback is very much appreciated, do not hesitate to comment ....
I came across lot of questions on the web but no convincing answers: some even proposing to subscribe to an Observable within the service implementation. However, I did not abandon Observables to return using Promises thanks to this very informative comparison. From there I picked an excellent article on reactive programming with RxJava which gave me hope.
So I kept on trying...
Achieving both reactivity and recursivity without understanding the fundamentals of RxJs operators, was a struggle.After focussing on the use of the map and mergeMap operators, I managed a first implementation very similar to how I would write a solution to the same problem using Promises. To help me and others who have the same questions, I created a repository of angular code snippets. One is about RxJs Recursive Observable.
Expand operator to the rescue...
Your feedback is very much appreciated, do not hesitate to comment ....
Comments
Post a Comment