JSFiddle - React, Tailwind, and code Playground

JavaScript

var timeoutCode;
var delayInMs = 2000;
$scope.$watch("query", function () {
 clearTimeout(timeoutCode);  //does nothing, if timeout alrdy done
 timeoutCode = setTimeout(function(){   //Set timeout
     $scope.loading = true;
     returnFactory.query($scope.query).then(function (returns) {
       $scope.returns = returns;
       $scope.loading = false;
     });
 },delayInMs);
});