1 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
forkJoin
實(shí)際上不會(huì)自動(dòng)完成。這取決于它正在修改以完成的可觀察對(duì)象。如果這些 observables 沒(méi)有完成,則forkJoin()
. 實(shí)際上,combineLatest
具有相似的品質(zhì)。
通常,所有 RxJS 提供的運(yùn)算符都會(huì)創(chuàng)建在原始可觀察對(duì)象關(guān)閉時(shí)關(guān)閉的可觀察對(duì)象 - 或者至少其中之一。
實(shí)際上,這意味著開(kāi)發(fā)人員使用 RxJS 來(lái)理解他們傳遞給操作員的可觀察對(duì)象的行為。流有可能永遠(yuǎn)被卡住嗎?在那種情況下,我們將要修改它來(lái)處理這個(gè)問(wèn)題——也許它會(huì)在 5 秒無(wú)活動(dòng)后關(guān)閉。
重點(diǎn)是操作員要么尊重輸入可觀察對(duì)象的完成,要么修改它(可能通過(guò)提前完成),因?yàn)檫@是他們?cè)O(shè)計(jì)的目的。后一類最常見(jiàn)的例子包括“takes”:take
, takeWhile
, takeUntil
。
花足夠的時(shí)間在圖書(shū)館 - 閱讀每個(gè)操作員的文檔,在代碼中玩弄它們,或者在這里詢問(wèn)是否有特定的東西沒(méi)有意義,你會(huì)變得非常熟悉哪些是哪些。
添加回答
舉報(bào)