2015-10-21 131 views
0

這是我的服務。Restangular error - 「然後不是函數」當試圖解決承諾

(function() { 
    'use strict'; 

    angular 
    .module('amazonScraperWebClient') 
    .factory('dataService', dataService); 

    /** @ngInject */ 
    function dataService(Restangular) { 

    Restangular.setBaseUrl('http://localhost:3000'); 

    var data = { 
     getProductList:getProductList 
    }; 


    function getProductList() { 
     return Restangular.all('products').getList(); 
    } 

    return data; 
    } 
})(); 

這是控制器的功能:

function getProductList(){ 
     dataService.getProductList.then(function(products){ 
     console.log(products); 
     },function(err){ 
     console.log(err); 
     }); 
} 

這是我在Chrome瀏覽器開發工具看到的錯誤: dataService.getProductList.then不是一個函數

可有人告訴我我在這裏可能做錯了什麼?我只是試圖在http://localhost:3000/products上針對在不同端口上運行的nodejs/express後端執行http GET。在服務器上啓用CORS似乎沒有什麼區別。後臺調用其餘服務似乎通過Postman工作。

+2

'dataService.getProductList()then' – m59

回答

0

你的控制器應撥打服務功能dataService.getProductList():

function getProductList(){ 
    dataService.getProductList().then(function(products){ 
    console.log(products); 
    },function(err){ 
    console.log(err); 
    }); 
} 
+0

這是當我移動速度太快會發生什麼。 :) 謝謝! – user1870738