2015-10-21 69 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