https://stackoverflow.com/questions/54834798/knockout-observable-not-triggering-when-using-throttle
by jlspake
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.5.0/knockout-min.js"></script>
A: <select data-bind="value: optionA">
<option>Foo</option>
<option>Bar</option>
</select>
<br/>
B: <textarea rows="2" data-bind="textInput: optionB"></textarea>
<br/>
C: <textarea rows="2" data-bind="textInput: optionC"></textarea>
<br/>
JavaScript
function viewModel(){
var self = this;
self.optionA = ko.observable();
self.optionB = ko.observable();
self.optionC = ko.observable();
self.periodicallySave = function(){
if (self.optionA() || self.optionB() || self.optionC()) {
self.saveOptions();
}
}
self.optionA.extend({ rateLimit: 1000 }).subscribe(self.periodicallySave);
self.optionB.extend({ rateLimit: 1000 }).subscribe(self.periodicallySave);
self.optionC.extend({ rateLimit: 1000 }).subscribe(self.periodicallySave);
self.saveOptions = function(){
console.log("Saved");
}
}
ko.applyBindings(new viewModel());