2014-10-02 94 views
0

傳遞參數所需的語法會中斷成功回調。答案是參數。我能獲得成功的回調不使用額外塊查詢時工作:功能(回答){帶參數和成功回調的角度服務工廠

Answer.query(answer, function(data) { 
      console.log(data); 
     }); 

這裏是服務

.factory('Answer',function($resource, $cookies) { 
return { 

query: function(answer) { 

    return $resource('/api/answers/', {'question_id': $cookies.question_id, 'answer': 'test'}, 
     { 
     query: { method: 'POST', isArray: false} 
    }).query(); 

} 

} })

這裏是回答。謝謝Gordon Bockus和Grundy。這節省了我很多時間。

Answer.query(answer);

.factory('Answer',function($resource, $cookies) { 
return { 

query: function(answer) { 

     return $resource('/api/answers/', {'question_id': $cookies.question_id, 'answer': answer}, 
     { 
     query: { method: 'POST', isArray: false} 
     }).query(function(result) { 
     console.log(result); 
     }); 

    } 
    } 
}) 
+1

嘗試'「答案」:answer' – Grundy 2014-10-02 03:49:11

+1

感謝。這只是一個模擬。我正在研究一種叫做承諾的東西。 – nathanengineer 2014-10-02 03:55:07

+0

承諾是要走的路。當它回到$資源時,它會更清晰。 – 2014-10-02 04:03:39

回答

1

您將參數傳遞給工廠查詢函數而不是資源查詢函數。如果你想保持相同的結構,你需要更新你的工廠

.factory('Answer',function($resource, $cookies) { 
return { 

query: function(answer, callback) { 
    var result; 
    return result = $resource('/api/answers/', {'question_id': $cookies.question_id, 'answer': 'test'}, 
     { 
     query: { method: 'POST', isArray: false} 
    }).query(function() { 
    callback(result); 
    }); 

} 

退房的例子信用卡的資源在這個https://docs.angularjs.org/api/ngResource/service/頁$資源