gpt4 book ai didi

javascript - Angular.js 等待多个资源 (ajax) 调用

转载 作者:行者123 更新时间:2023-11-30 12:36:40 25 4
gpt4 key购买 nike

我有一个 Angular.js 应用程序,我需要调用三个不同的资源,一旦它们全部完成,就一起使用它们。我的三个电话如下。

# Get the curriculum
$scope.curriculum = CurriculumResource.get id: $routeParams.id

# Get the list of courses
$scope.courses = CourseResource.query()

# Get the list of groups
$scope.groups = GroupResource.query()

一旦我知道所有请求都已完成,我该如何执行更多逻辑。我试过使用如下所示的 $watchGroup 和 $watchCollection,但似乎都不起作用。

$scope.$watchGroup ['curriculum', 'courses', 'groups'], ->
# Shouldn't this run each time something in the above array changes?
console.log 'Only runs once'

# The values of the items in the below if statement eventually give a true result
# but the if statement never runs when they are true
if $scope.curriculum.groups and $scope.groups.length
console.log 'never gets here!'

最佳答案

我相信您可以使用 $q.all 完成此操作假设您的所有请求都返回 promise 。有点像

$q.all([CurriculumResource.get({id: $routeParams.id}), CourseResource.query(), GroupResource.query()])
.then(function(results){
// results will be an array of values from resolved promises in the original order
})
.catch(function(err) {
// will fail on any rejected promise
});

关于javascript - Angular.js 等待多个资源 (ajax) 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852075/

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