2016-10-20 29 views
5

Ben mesela gözlenebilir birine birden aboneleri, varsa:Rxjs gözlemlenebilir kaç abone var bilmek nasıl?

const myInterval = Rx.Observable.interval(500); 

const subscriptionOne = myInterval.subscribe(val => doSomething()); 
const subscriptionTwo = myInterval.subscribe(val => doSomething()); 

Nasıl hala myInterval gözlemlenebilir kayıt kaç aboneleri bilebilirim? Bu bilgilere ihtiyacım var, örneğin bellek sızıntısını önlemek için bunlardan birinin aboneliğini iptal etmeyi unutmuşum?

cevap

1

Köşeli 2'yi kullanırken, async borusunu mümkün olduğunca kullanmaya çalışmalısınız, çünkü bileşeniniz yok olduğunda bu sizin için otomatik olarak aboneliğinizi iptal edecektir.

Bu söyleniyor. Gözlenebilen aralığınız soğuk gözlemlenebilir. Anlamı, her abonelik için değer üreticisi kurulacak. Bu, her seferinde yeni bir abonelik oluşturulduğu anlamına gelir. Yani hala gözlemlenebilen bir soğukta kaç tane aboneliğe sahip olduğunuzu bilmek, cevaplayamayacağınız bir sorudur.

Korkarım ki yapabileceğiniz tek şey, aboneliklerinizi temiz bir şekilde yönetmek ve bunun için mümkün olduğu kadar açılı bir şekilde kullanmaktır.

+0

Ve örneğin, bileşenimde kullanırsam, değerlerChanges.subscribe formlarda mı? Abonelikten çıkmam gerekiyor mu? –

İlgili konular