[英]How i can get last value of state? without subscribing (rxJs)
我在門面上有這個
chatMessagesState$ = this.store.pipe(select(ChatMessageSelectors.getChatMessagesState));
這個在選擇器上
export const getChatMessagesState = createSelector(
getChatMessages,
(payload: ChatMessagesState) => payload
);
這在組件上
this.chatMessagesSub = this.chatMessagesFacade.chatMessagesState$.subscribe(state => {
if (state.messages) {
// do something
}
});
我如何在不訂閱的情況下獲得狀態?
constructor(private storeState: State<YourState>)
const state = this.storeState.value['your-state'];
如果您只需要取值 1 次
一種方法是將Observable
轉換為Promise
並使用async-await
:
async getStateValue(){
const state=await this.chatMessagesFacade.chatMessagesState$.toPromise();
return state;
}
注意:此方法違背了 Observables 的目的,因為您將無法監聽發出的更改。 Promise 只會解決/拒絕一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.