Avatar ·

RxJS में Subject और BehaviorSubject में क्या अंतर है?

सभी को नमस्ते! मैंने अभी Angular में RxJS सीखना शुरू किया है और Subject और BehaviorSubject के बीच अंतर को लेकर भ्रमित हूँ। दोनों का उपयोग Observable बनाने के लिए किया जाता है, लेकिन मुझे समझ नहीं आता कि कब क्या उपयोग करना चाहिए। मेरे पास उपयोगकर्ता स्थिति प्रबंधित करने के लिए एक सेवा है: ```typescript import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class UserService { private userSubject = new Subject(); user$ = this.userSubject.asObservable(); login(user: User) { this.userSubject.next(user); } logout() { this.userSubject.next(null); } } ``` समस्या तब आती है जब मैं `login()` या `logout()` कॉल करने से पहले `user$` पर subscribe करता हूँ। सब्सक्राइबर को कोई मान नहीं मिलता, भले ही उपयोगकर्ता पहले लॉग इन कर चुका हो। मुझे वर्तमान स्थिति अलग से स्टोर करनी पड़ती है और subscribe करते समय उसे पास करना पड़ता है, जो एक अस्थायी समाधान जैसा लगता है। मैंने सुना है कि BehaviorSubject इस समस्या को हल कर सकता है, लेकिन मुझे इसका तंत्र समझ नहीं आता।

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग