gpt4 book ai didi

angularjs - 如何在 $http.get().then() AngularJS 中使用 Authentication 对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:28:30 25 4
gpt4 key购买 nike

我正在尝试在 Angular $http.get 异步任务中使用我的身份验证对象。这是怎么做到的?我认为有一些我不理解的基本事实。当我调试它时 $http.get 直到其他一切之后才运行。此时如何获取身份验证信息?有可能吗?

'use strict';

angular.module('core').controller('HomeController', ['$scope', 'Authentication', '$stateParams', 'Feels', '$http',
function($scope, Authentication, $stateParams, Feels, $http) {

// This provides Authentication context.
$scope.authentication = Authentication;

var userFeelIds = Authentication.user.feels;

var userFeelIdsArray = userFeelIds.split(',');

$http.get('/api/feels').then(function(response) {
var test = '';
});

}
]);

最佳答案

如果您也可以发布您的身份验证代码会有所帮助,但是这里的基本思想是您需要在路由中使用 resolve。

.when('home', {
url: '/',
templateUrl: 'home.html',
controller: 'HomeController',
resolve: {
Authentication: function(Authentication) {
//Not sure what your auth service looks like but I assume there is some init function.
Authentication.init();
}
}
}

所以这基本上告诉 Angular 在身份验证服务完成加载其数据之前不要加载页面。这是通过 promise 完成的,幸运的是,$http 方法都返回 promise 。

所以现在在您的 Controller 中,您可以确定数据已加载。

 angular.module('core').controller('HomeController', ['$scope', 'Authentication',
function($scope, Authentication) {

var userFeelIds = Authentication.user.feels;

var userFeelIdsArray = userFeelIds.split(',');

}
]);

关于angularjs - 如何在 $http.get().then() AngularJS 中使用 Authentication 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32084740/

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