2

サービスは(コントローラーに返したい処理済みのバージョンdata) ではなく (生の $http 応答)を返しますが、内部のコードが無視されるのはなぜですか?resultpromise

///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;
        }
    };
}]);
4

1 に答える 1

2

successハンドラーはチェーンを提供しません。使用する必要がありますthen

var promise = $http.get(url).then(function(data) {
  var parts = $(data).find("span");
  // ...
  return result;
});
于 2013-03-18T19:28:43.227 に答える