Stream Recap | RxJs Scan, Trapezoid Rule
Another Tuesday another successful stream! I did a little prep work that I mention below for this one and it was nice having notes to follow to keep things organized. However the more I am working through my analysis the more I am questioning my approach. I think next week I am going to build a live chart of the values to get a sense of where I am and where I should god. Then after that ... Linear Regressions!
I got a little excited about the idea and ended up doing an impromptu stream ... that didn't go very well but was extremely instructive:
I spent quite a bit of time trying to create a 'last 10 values' stream. I went through several approaches and ended up with using scan
. Originally I tried bufferCount
however buffer only emited 'last 10' values for every 10 values. This wouldn't work as I wanted to emit a new 'last 10' for each new value. Then I attempted to use window
which almost seemed to work. I was looking to create an Observable<Observable<Array<Number>>>
and window provided a Observable<Observable<T>>
output, but shamefully I couldn't get the behavior I was looking for.
Having thoroughly overthought the problem, a google search suggested scan
and I thought 'sure why not'. It ended up doing the trick quite nicely.
Pay attention to what are Operators and what are Observables. Especially when using mergeMap/concatMap/switchMap
. I regularly was getting my types wrong on my inputs and outputs.