gpt4 book ai didi

javascript - RESTful API 调用未更新本地数组?

转载 作者:行者123 更新时间:2023-12-03 11:59:36 24 4
gpt4 key购买 nike

我有一个工厂服务,可以从后面获取数据,我正在尝试像这样填充本地数组:

(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 消息并且 promise 正在返回一个数组。

这是我的服务

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 添加到正确的位置(回调)。

关于javascript - RESTful API 调用未更新本地数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com