服务返回数据
(原始$http响应)而不是结果
(我想传回 Controller 的处理版本),为什么代码是这样的promise
内被忽略?
///in controller
Romanize.get($scope.currentMaterial).then(function(d){
$scope.romanized = d;
});
//service
app.factory('Romanize', ['$http', 'Position', function($http, Position){
return{
get: function(query){
var url= Position.sections[Position.sectionNumber].romanizeService + "?korean=" + query;
var promise = $http.get(url).success(function(data) {
var parts = $(data).find("span");
var array = [];
for (var x = 0; x<parts.length; x++){
array.push(parts[x].title);
}
var result = array.join("");
return result;
});
return promise;
}
};
}]);
最佳答案
success
处理程序不提供链。您应该使用then
:
var promise = $http.get(url).then(function(data) {
var parts = $(data).find("span");
// ...
return result;
});
关于angularjs - 服务返回意外结果, promise 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15484965/