share()
işleci bir BehaviorSubject öğesine uygulanır. BehaviorSubject öğesinin başlangıç değeri var.BehaviorSubject başlangıç değeri ile çalışma()
Hedef, tek bir paylaşılan abone oluşturmaktır. Ancak, bu paylaşılan abonelik BehaviorSubject bir başlangıç değerine sahip olduğunda işe yaramaz gibi görünmüyor.
Beklenmeyen sonuçlar elde etme.
Kod aşağıda gösterilen:
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);
Sonucu:
"side effect"
"0 sub1"
"side effect"
"1 sub1"
"1 sub2"
Beklenen Sonuç:
"side effect"
"0 sub1"
"1 sub1" <------------- this is missing from actual result
"side effect"
"1 sub1"
"1 sub2"
Peki "yan etkisi", "0 sub1", ilk abonelik için "0 sub2" düzen elde edebilirsiniz ve sonra ilk "sonraki" aramanın ardından "yan etki", "1 alt1", "1 alt2"? –