【发布时间】:2016-03-22 18:49:50
【问题描述】:
我有这两个功能。我需要将 $scope.submit 的响应值传递给 $scope.addTeams。这是有效的,但我知道这是一种非常愚蠢的方法。最好的方法是什么?
$scope.submit = function() {
$http.post('/api/createclub/', {
club: $scope.club
}).success(function(response) {
console.log(response);
$rootScope.clubId = response._id;
});
};
$scope.addTeams = function() {
console.log($rootScope.clubId);
$state.go('createTeam', {
clubId: $rootScope.clubId
});
$scope.cancel();
};
【问题讨论】:
-
你正在做的事情会起作用,但是,addTeams 不会有 clubId,除非在帖子完成后才调用它。这是一个竞争条件,考虑到提供的一小部分代码,我看不到一个简单的方法。
-
是的,我明白了。为了让您更深入地了解我想要实现的目标,我有两个不同的按钮来触发这些功能。
-
禁用一个直到另一个完成,或者将它们变成一个按钮。
标签: javascript angularjs http asynchronous angular-promise