簡體   English   中英

Angular.js 承諾 $http.get

[英]Angular.js promises $http.get

我有一個服務,它發出一個 $HTTP.GET 請求,起初我試圖訪問對象 $$state 但里面的值是未定義的,所以我去了這里關於承諾和異步調用的紅色: http://blog.ninja- team.com/2015/05/28/angularjs-promises/

在我將所有內容紅色后,我按照指導再次嘗試,但仍然對我不起作用:-(,請告知,我想訪問值對象。

service:
function ConnectMe($http) {

function OnAction() {

    this.create = function (search, key) {
        return $http.get("https://www.tastekid.com/api/similar?q=" + search + "&verbose=1&k=" + key).then(function (response) {
            return response.data;
        });

    };
}

var connection = new OnAction();

return function () {
    return connection;
};
}


controller:
function TasteConroller($scope, ConnectMe) {
$scope.apiKey = "https://www.tastekid.com/api/similar?q=" + $scope.UserPick + "&verbose=1&k=254357-MatureAm-A31YEAIX";
$scope.UserPick = "red+hot+chili+peppers";
$scope.Key = "254357-MatureAm-A31YEAIX";
var srv = ConnectMe();

srv.create($scope.UserPick, $scope.Key).then(function(data) {
    $scope.results = data;
}), function() {
    $scope.error = 'unable to get the ponies';
};

console.log($scope.results);

您的服務代碼看起來有點可疑。 我通常會創建這樣的服務;

function ServiceFunc( $http, $q ){
    return {
        OnAction: function( search, key ){ 
            return $http.get(...)
                   .then( function( rsp ){ return rsp.data.foo })
                   .catch( function( err ){ $q.reject( err )})
    }
}

我認為您可能有更深層次的功能,而您實際上並未調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM