Search code examples
javascriptknockout.jsko.observablearray

Unsubscribe in Observable KnockOutJS


Im currently using KnockOut JS and i conducted some research about when the observable is notified it will fire a function which is like this

function FunctionToSubscribe()
{

}

var TestObservable = ko.observableArray([]);

TestObservable.subscribe(FunctionToSubscribe);

i am subscribing FunctionToSubscribe in this event

im currently thinking is there a way to unsubscribe it? like we do in c#? when unsubscribing events anyone have an idea regarding this???


Solution

  • The subscribe function returns the "subscription" object which has a dispose method what you can use to unsubscribe:

    var TestObservable = ko.observableArray([]);
    
    var subscription = TestObservable.subscribe(FunctionToSubscribe);
    
    //call dispose when you want to unsubscribe
    subscription.dispose(); 
    

    See also in the documentation: Explicitly subscribing to observables