RESTful API调用没有更新本地数组
RESTful API call not updating local array?
我有一个从后台获取数据的工厂服务,我试图填充一个本地数组,如下所示:
(function() {
app.controller('UpdateProvidersCtrl', ['$scope', 'ngDialog', '$http', 'Provider', '$resource', '$window','SpecialtyService', function($scope, ngDialog, $http, Provider, $resource, $window,SpecialtyService) {
var specialties = [];
SpecialtyService.getService().then(function(data){
$scope.specialty = data;
angular.forEach(data.specialty, function(item){
specialties.push(item);
);
});
console.log(specialties);
console.log返回一个空数组,我知道数据正在被检索,因为我已经放置了其他console.log消息,并且承诺返回一个数组。
这是我的服务
app.factory('SpecialtyService', ['$resource', function($resource) {
function SpecialtyService() {
this.service = $resource('/api/specialty_search');
};
SpecialtyService.prototype.getService = function() {
return this.service.get().$promise;
};
return new SpecialtyService;
}]);
是否因为异步调用而返回空?还是我做了什么根本性的错误?
试试这个:
function() {
app.controller('UpdateProvidersCtrl', ['$scope', 'ngDialog', '$http', 'Provider', '$resource', '$window','SpecialtyService', function($scope, ngDialog, $http, Provider, $resource, $window,SpecialtyService) {
var specialties = [];
SpecialtyService.getService().then(function(data){
$scope.specialty = data;
angular.forEach(data.specialty, function(item){
specialties.push(item);
);
console.log(specialties);
});
由于您的服务调用是异步的,您需要在正确的位置添加console.log(回调)
相关文章:
- 如何通过数组更新角度子范围
- 如何创建独立于数组更新的组件列表
- 使用数组更新完整日历
- 数组更新后的敲除绑定
- c3js - 使用 chart.load() 使用颜色数组更新图表颜色
- 猫鼬位置数组更新
- 如何使用新数组更新 dom-repeat 列表
- .click在Javascript中没有任何效果 - 应该基于数组更新两个元素
- Angular2 从后端服务中的数组更新视图
- 推送前的数组更新 - javascript
- 使用 ajax 使用 jquery 数组更新 mysql 数据库
- Javascript二维字符串数组更新值
- 如何将数组更新到firebase
- Meteor AutoForm:如何用子文档数组更新模式值
- 为什么当数组更新时,引用数组元素的n't是我的对象
- 从类型化数组更新svg路径
- 聚合物dom-repeat如何通知数组更新
- 什么时候改变子数组更新子数组vs.创建一个新的子数组?[JavaScript]
- 当Javascript中的数组更新时,如何使用PHP更新和插入数据库
- 使用修改后的数组更新对象属性值