【发布时间】:2015-05-19 15:50:00
【问题描述】:
我在 angularjs 中使用超时创建了一个自动完成输入。它可以工作,但非常非常慢。这是代码:
var promiseCanceller = $q.defer();
$scope.updateSearchResultsNew = function (textTyped) {
if ($scope.searchTxt.length >= 2) {
promiseCanceller.resolve("cancelled");
promiseCanceller = $q.defer();
$scope.loading = true;
$http.get($scope.baseUrl + uri, {
params: {
text: encodeURIComponent(textTyped)+("*"),
filters: $scope.filter
},
timeout: promiseCanceller.promise
})
.success(function (data) {
$scope.searchResults = data.data;
$scope.loading = false;
});
} else {
$scope.searchResults = [];
$scope.loading = true;
}
};
有时它会在大约 19 秒或更长时间内显示结果!!有没有办法让它更快?实际上,每次我在输入中输入某些内容时,都会启动一个请求,如果之后立即有另一个请求则中止。如果可能的话,我需要做这种方法或类似但更快的方法
【问题讨论】:
标签: javascript jquery angularjs autocomplete angular-promise