【发布时间】:2014-05-12 17:12:01
【问题描述】:
我收到以下错误:
TypeError: Cannot call method 'then' of undefined
关于此代码:
App.controller('MainCtrl', ['$scope', 'Main', 'MainFilter', function($scope, Main, MainFilter) {
$scope.scope_variable = Main.query().$promise.then( function(result) { MainFilter.do_something(result) } );
}]);
App.factory('Main', ['$resource', function($resource) {
return $resource('/main_resource.json')
}]);
我一直在尝试遵循这些在控制器中使用 promise 的其他示例(我没有使用 $routeProvider),但似乎没有任何效果。
AngularJS using $resource service. Promise is not resolved by GET request
【问题讨论】:
-
你在哪里定义
$promise? -
Main.query({}, function(data) { console.log(data) }) -
我假设 $promise 是在 $resource 中定义的...
-
@tymeJV 控制台记录数据返回正确的资源数组。
-
为什么不使用我当时提供的代码的 sn-p 呢?应该可以访问返回的数据,一切都很好
标签: javascript angularjs asynchronous ngresource