Restangular 错误 - "then is not a function" 尝试解析 promise

Restangular error - "then is not a function" when trying to resolve promise

这是我的服务。

(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 工作。

你的控制器应该调用服务函数 dataService.getProductList():

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