AngularJS-使用$http和$timeout提前键入
我想在我的angular应用程序中实现一个typeahead 因此,当用户填写输入时,我希望等待1秒,并在1秒后验证输入是否相同,如果相同,则将请求发送到服务器 我通过在$timeout中实现$http来实现它,这很成功,但我想知道这是否是一种好方法 这是我的控制器:AngularJS-使用$http和$timeout提前键入,angularjs,typeahead,Angularjs,Typeahead,我想在我的angular应用程序中实现一个typeahead 因此,当用户填写输入时,我希望等待1秒,并在1秒后验证输入是否相同,如果相同,则将请求发送到服务器 我通过在$timeout中实现$http来实现它,这很成功,但我想知道这是否是一种好方法 这是我的控制器: $scope.getLocation = function (input) { var input_tmp = input; return $timeout(function () {
$scope.getLocation = function (input) {
var input_tmp = input;
return $timeout(function () {
if (input === input_tmp) {
$scope.query.FilterIdentification = input;
return $http.get(SERVER_REST.url, $scope.query)
.then(function (res) {
var addresses = [];
angular.forEach(res.data, function (item) {
addresses.push(item);
});
return addresses;
});
}
}, 1000);
};
我知道这是一个很老的问题,我只是想指出,这是一个内置功能: 看 “typeahead wait ms(默认值:0):在typeahead开始之前键入最后一个字符后的最短等待时间” 除此之外,我认为你做这件事的方式没有错