我在門面上有這個
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
}
});
我如何在不訂閱的情況下獲得狀態?
uj5u.com熱心網友回復:
constructor(private storeState: State<YourState>)
const state = this.storeState.value['your-state'];
如果您只需要取值 1 次
uj5u.com熱心網友回復:
一種方法是將Observablea轉換為 aPromise并使用async-await:
async getStateValue(){
const state=await this.chatMessagesFacade.chatMessagesState$.toPromise();
return state;
}
注意:此方法違背了 Observables 的目的,因為您將無法監聽發出的更改。Promise 只能解決/拒絕一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/339572.html
標籤:javascript 有角的 rxjs
