title: Angular 2 throttle the amount of event or action gets fired off on a countrol
body: <p>In my application I have a inputbox where I search for the inputted value. I made it so it searches when the value inside the textbox has been changed.
  The code is something like this:</p>
  
  <pre><code>&lt;input id="searchTextField" [(ngModel)]="searchText" (ngModelChange)="SearchTextChange()" /&gt;
  </code></pre>
  
  <p>Back end Typescript code is like this :</p>
  
  <pre><code>private SearchTextChange(): void {
  //do search 
  }
  </code></pre>
  
  <p>Problem is that I realized this is highly inefficient, because I realized in most cases, when people type a word, I don't want it to search when people type the letter"a" or "app" when the intended word maybe "apple" or something like that.
  Is there a way to limit the search amount gets triggered either in angular 2 or typescript?
  so I either only perform a search max every 2 seconds, or only let angular fire off the event on the same control maximum 1 ngModelChange for every 2 seconds?</p>