2017-09-16 19 views
0

modifyProduct.then is not a functionというエラーが表示されています。私はいくつかの記事を読んでいます。誰かが私にプロミスを返す際にエラーが発生しました。エラーが発生しました。それは角度JSの関数ではありません。

ここで私はmodifyProductexecutionFromCompany内部関数を呼び出していますし、私は、コントローラ内のexecutionFromCompanyを使用しています

var app = angular.module('myApp', ["chart.js"]); 
app.factory('ProductsService', function($http) { 
    function getProduct() { 
     return $http.get('finalmsodetails.json').then(function(response) { 
      //console.log(response.data); 
      return response.data; 
     }); 
    } 

    function modifyProduct() { 
     return getProduct().then(function(rawData) { 
      newtest = rawData; 
      //console.log('test', newtest.length); 
      var lightData = rawData.map(function(item) { 
       // use Object.assign to prevent mutating original object 
       var newItem = Object.assign({}, item); 
       var lightExecutions = item.executions.map(function(d) { 
        var ld = { 
         id: d.id, 
         orderId: d.orderId, 
         executionStatus: d.executionStatus, 
         executedOn: d.executedOn, 
         executedBy: d.executedBy, 
         executedByDisplay: d.executedByDisplay, 
        }; 
        return ld; 
       }); 
       newItem.executions = lightExecutions; 
       return newItem; 
      }); 
      return lightData; 
     }); 
    } 

    function executionFromCompany() { 
     return modifyProduct.then(function(lightData) { 
      executionByCompany = $filter('filter')(lightData.executions, function(inputs) { 
       if ((inputs.executedBy == 'a')) return inputs; 
      }); 
      console.log(executionByCompany); 
      return executionByCompany; 
     }); 
    } 
    return { 
     getProduct: getProduct, 
     modifyProduct: modifyProduct, 
     executionFromCompany: executionFromCompany 
    }; 
}); 
app.controller('MainCtrl', function($scope, ProductsService) { 
    ProductsService.executionFromCompany().then(function(value) { 
     console.log(value); 
    }, function(err) { 
     // Here will be if there was an error 
    }) 
}); 
+1

、単純な誤植modifyProduct(この

modifyProduct.then 

変化する)。その後、 – user2280016

答えて

2

modifyProductは機能ではなく、オブジェクト

01であるのを助けることができ、これを達成

この

modifyProduct().then 
+0

感謝!! 'modifyProduct'が戻り値 – Batman

+1

を返す方法を教えてください。コールバックメソッドを使って値を返すことができます –

+0

何が返されないと思いますか? –

関連する問題