簡體   English   中英

我應該對 RxJs 和 Angular 中的主題使用“$”符號后綴嗎?

[英]Should I use "$" sign suffix for Subjects in the RxJs and Angular?

所以我有這個關於 RxJs 代碼和 Angular 中的 $ 符號后綴命名約定的問題。 在 angular 最佳實踐文檔中,總的來說,我發現我們應該在聲明 Observable 時使用它,但還沒有看到將它與 Subjects 一起使用。 為什么? 我認為它應該意味着“異步”。 此外,主題是可觀察的。 所以它們是異步的,你必須訂閱它們。 現在我也開始將 $ 與 Subjects 一起使用。 這種做法有什么真正的騙局嗎?

每個subject都是observable的。

如果您查看 Angular 文檔:

這在掃描代碼和尋找可觀察值時很有用。 此外,如果您希望一個屬性存儲來自可觀察對象的最新值,則可以方便地使用帶有或不帶“$”的相同名稱。

$ 符號后綴並不意味着異步,它用作軟約定來指示變量是 stream。 它更像是一個命名助手來指示類型。

$后綴用於表示某個變量是可觀察的。 它有助於區分正常變量和可觀察量。 它只是一種練習,

請參閱this以查看解釋$后綴的官方文檔。 這里

除了 Stoobish 和 Nipuna 所說的之外,我還要補充一點,我也喜歡使用$作為后綴,以避免在處理從 stream 中提取的值時使用相同的變量名。

例如:

const currentTimeSeconds = currentTimeMs.pipe(
  map(currentTimeMs => currentTimeMs * 1000)
)

在上面的示例中,您最終會得到 2 個名為currentTimeMs的變量。 當然這仍然有效,但它比幫助更令人困惑。 當然,您也可以將內部變量重命名為不同的名稱。 但總的來說,我發現使用以下內容更清楚

const currentTimeSeconds$ = currentTimeMs$.pipe(
  map(currentTimeMs => currentTimeMs * 1000)
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM