http://stackoverflow.com/questions/42119502/knockout-js-delay-valueupdate-afterkeydown

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div>
  <input data-bind="value: searchTerm, valueUpdate: 'afterkeydown'" />
  <table data-bind="foreach: results">
  <tr style="border: 1px solid silver">
    <td><span data-bind="text: $data"></span></td>
  </tr>
  </table>
</div>

JavaScript

var viewModel = function(){
	var self = this;
  
  self.searchTerm = ko.observable('').extend({rateLimit: 2000});
  self.sampleOptions = [
  	'aaa',
    'aab',
    'aac',
    'aba',
    'abb',
    'abc',
    'aca',
    'acb',
    'acc',
    'baa',
    'bab',
    'bac',
  ];
  
  self.results = ko.computed(function(){
  		var term = self.searchTerm();
    	return self.sampleOptions.filter(function(item){
      		return item.substring(0, term.length) === term;
      });
  });
}

var vm = new viewModel();

ko.applyBindings(new viewModel());