share()
ऑपरेटर को व्यवहार व्यवहार पर लागू किया जाता है। व्यवहार स्रोत के प्रारंभिक मूल्य है।व्यवहार प्रारंभिक मूल्य शेयर के साथ काम नहीं कर रहा है()
लक्ष्य एक साझा साझा सदस्यता बनाने के लिए है। लेकिन व्यवहार साझा करने के लिए प्रारंभिक मान होने पर यह साझा सदस्यता तब काम नहीं कर रही है।
अप्रत्याशित परिणाम प्राप्त करना।
कोड नीचे दिखाया गया है:
let subject = new Rx.BehaviorSubject(0);
let published = subject
.do(v => console.log("side effect"))
.share();
published.subscribe((v) => console.log(v+" sub1"));
published.subscribe((v) => console.log(v+" sub2"));
subject.next(1);
परिणाम:
"side effect"
"0 sub1"
"side effect"
"1 sub1"
"1 sub2"
अपेक्षित परिणाम:
"side effect"
"0 sub1"
"1 sub1" <------------- this is missing from actual result
"side effect"
"1 sub1"
"1 sub2"
तो कैसे हम "पक्ष प्रभाव", "0 sub1", प्रारंभिक सदस्यता के लिए "0 sub2" आदेश प्राप्त कर सकते हैं और फिर "साइड इफेक्ट", "1 सब 1", "1 सब 2" पहले 'अगली कॉल' के बाद? –