在我的 html 中我有
typeahead="name for name in search($viewValue)
我从服务器返回的数据符合预期。但是我现在意识到,由于这是一个异步请求,所以我在下面代码中的多个位置所做的返回是毫无价值的,因为它们没有返回数据数组,因此上面的 html 代码可以接收它。
$scope.search = function (term) {
return $http({
method: 'GET',
url: 'rest/search',
params: {
term: term,
types: '21'
}
}).
success(function (data, status, headers, config) {
var Names = [];
for (var i = 0; i < data.length; i++) {
Names.push(data[i].name);
}
console.log(Names);//as expected
return Names;
}).
error(function (data, status, headers, config) {
console.log(status);
});
};
我应该如何以数组形式从异步 HTTP GET 请求中返回数据,以便我的 typeahead 可以使用它。
我是否应该在 HTTP GET 成功https://stackoverflow.com/a/12513509/494461上存储像此示例这样的数据变量
但是我怎样才能运行该函数以及使用数组中的存储变量呢?
typeahead="name for name in search($viewValue)
或者
typeahead="name for name in dataStoredInHTTPGetSucess
我可以以某种方式将上述两者结合起来吗?