Skip to main content

2 posts tagged with "rxjs"

View All Tags

· 4 min read
Adam You

前言

在我學習 RxJS的時候我發現我遇到的第一個學習障礙就是一些很相似的名詞,雖然說書裡寫的感覺好像都說了,可是還是有點模糊。

比如說:在討論 Design Pattern的時候,Observer Pattern 的「被觀察者」是 Subject,而 RxJS的世界裡是講 Observable,但 Observable裡又有多種不同特性的類別包含 Observable類別以及 Subject類別等,所以你只說「Observable」有可能指的是「被觀察者」,如果是的話它也會包含 Subject類別,而如果說的是「Observable類別」那就是針對那個類別的物件在做討論…

我花了一點時間做筆記以及整理才把這些名詞弄清楚,但真的要到熟悉也還是到實際有寫了一些摳之後了…

· 5 min read
Adam You

問題

由於combineLatest 是用來組合多個 Observable 的事件值的,所以每一個 Observable 的事件都會被訂閱到

如果每一個 Observable 都是「不同時」發生的,則會取得「當下」每一個 Observable 最後一次的事件值。

但現在要處理的狀況是 - 如果有多個 Observable 是「同時」發生事件的,也仍然會產生多個訂閱事件,這個就不一定符合「只取最後一次事件資料」的目的。

我在這邊所說的「同時」從程式的角度來看其實不是很精確,畢竟程式是一行一行執行的,多個 Observable 的訂閱事件也一定就會有先後順序,那就不會是同時的。但我想表達的比較像是 RxJS常用的彈珠圖上(或者也可以說是時間軸)同一時間所發生的事件。