2015-11-19 72 views
0

如果我console.log$resource,我回來了一些東西,我不明白。

$scope.results = $resource(url, {}, {withCredentials: true}).query(function(arg) { 
    console.log(arg); 
}); 

回報:

LOG: [d{id: '4', foo: 'bar'}] 

什麼是數組中的 'd' 的意思嗎?

+0

代碼審查歡迎留言。我相信我可以改進我的工作:)。 – Rimian

+0

目前尚不清楚,但是控制檯輸出如上所示的'console.log(arg)'的結果,或者其他控制檯命令沒有顯示? – Phil

+0

這是當我運行茉莉花規格時的輸出:) – Rimian

回答

0

您執行一個異步函數,並且該函數不返回實際數據,它返回一個承諾。承諾答覆後會得到解決。

看看that postanother one

長話短說:您必須指定一個將在承諾解決方案上調用的函數。

在您的例子:

$resource(url, {}, {withCredentials: true}).query(function(data) { 
    $scope.results = data; 
}); 

或:

$resource(url, {}, {withCredentials: true}).query().$promise.then(
    function(data) { 
     $scope.results = data; 
    } 
); 

如果我沒有記錯的是API。

+1

'$ resource'操作不會** *「返回承諾」*。它們返回一個空的實例,當異步操作解析時,該實例稍後會填充數據。 – Phil

+0

對不起,你是對的。 我一般使用$ http,所以這顯然是一個錯誤。 –