亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果 RxJS 中的 'of' 是同步的,因為它一次返回所有值?

如果 RxJS 中的 'of' 是同步的,因為它一次返回所有值?

溫溫醬 2023-04-20 16:23:00
of和之間的主要區別from在于of一次返回所有值并from逐一返回。這是否意味著如果我們of與 Observables 一起使用,它們將開始以同步方式運行?使它們表現異步的方法是使用from?
查看完整描述

3 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

RxJS 中的一切都是同步的,除非你處理延遲或者你有意使用異步調度程序,例如asyncScheduler.

當你有一個 RxJS 鏈時,它是同步的還是異步的只取決于你使用的操作符和你的源 Observables 的行為。所以這不是of()or的任何特定內容from()。即使from([1, 2, 3])orof(1, 2, 3)發出三個值,它也會同步發出。

另請注意,您無法將異步鏈變為同步行為。


查看完整回答
反對 回復 2023-04-20
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

這里有一個輕微的誤解(正如 Kaustubh 所暗示的):
of不會立即返回其所有值。只是of可以接受可變數量的參數,而只from需要一個。

of將每個給定的參數解釋為值,同時from會將單個給定的參數轉換為可觀察的。

所以這表現相同:

of(1, 2)
from([1, 2])

雖然這不會:

of([1, 2])
from([1, 2])


查看完整回答
反對 回復 2023-04-20
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

考慮以下,


const myValues = ['val1', 'val2', 'val3'];


const atOnce = Observable.of(myValues); // This will emit the entire myValues array as a single emission.


// The Observables below are similar in behaviour

// The will emit the values from myValues one at a time


const discreteOne = Observable.of(...myValues);

const discreteTwo = Observable.from(myValues);



查看完整回答
反對 回復 2023-04-20
  • 3 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號