RxJS में Subject और BehaviorSubject में क्या अंतर है? TypeScript उदाहरण
सभी को नमस्ते! मैंने Angular और RxJS सीखना शुरू किया है, और मुझे Subject और BehaviorSubject में भ्रम हो रहा है। दोनों का उपयोग Observable बनाने और मान भेजने के लिए किया जाता है, लेकिन मुख्य अंतर समझ नहीं आ रहा है।
यहाँ मेरा लिखा उदाहरण है। जब मैं Subject का उपयोग करता हूँ, तो मान भेजने के बाद subscribe करने वाले subscribers को वह मान नहीं मिलता:
import { Subject } from 'rxjs';
const subject = new Subject<number>();
subject.next(1); // Subscribe से पहले मान भेजना
subject.subscribe({
next: (v) => console.log('Subject subscriber A:', v)
});
subject.next(2); // Subscribe के बाद मान भेजना
// परिणाम: Subject subscriber A: 2
// मान 1 खो गया
जब मैं BehaviorSubject का उपयोग करता हूँ, तो बाद में subscribe करने वाले subscribers को अंतिम मान मिलता है:
import { BehaviorSubject } from 'rxjs';
const behaviorSubject = new BehaviorSubject<number>(0); // प्रारंभिक मान आवश्यक