JSFiddle - React, Tailwind, and code Playground

HTML

<div ng-app ng-controller="Ctrl">
    <input type="text" ng-model="typing">
     <input type="text" value="{{ typed }}">
</div>

JavaScript

function Ctrl($scope) {
    $scope.$watch('typing', debounce(function() {
        $scope.typed = $scope.typing;
        $scope.$apply();
    }, 500));
}

function debounce(fn, delay) {
  var timer = null;
  return function () {
    var context = this, args = arguments;
    clearTimeout(timer);
    timer = setTimeout(function () {
      fn.apply(context, args);
    }, delay);
  };
}