所以我有这段代码
getTens.getToken($rootScope.webUserInfo[0].username).then(function(resulttoken) {
$rootScope.userInfo = resulttoken;
$sessionStorage.token = resulttoken[0].token;
$sessionStorage.userInfoStorage = $rootScope.userInfo;
CasesGroupByCaseStatus.getListing($rootScope.webUserInfo[0].username).then(function(data){
$rootScope.listingDetails = data;
$sessionStorage.listingDetailsStorage = $rootScope.listingDetails;
});
CasesGroupByCaseStatus.caseStatusCount($rootScope.webUserInfo[0].username).then(function(resultcaseStatus){
$rootScope.dashboardStatus = resultcaseStatus;
$sessionStorage.dashboardStatusStorage = $rootScope.dashboardStatus;
console.log("it is finished")
});
});
return [200, { authorizationToken: $sessionStorage.token}];
在我的代码中,我希望它在返回值之前首先完成该函数,但是会发生的是它会触发运行该函数的返回第一个wtout,我该如何处理?
这段代码是我的app.js.所以我不能做诸如scope.watch之类的东西。
答案 0 :(得分:0)
我不确定这是否是解决问题的好方法,但对于我的应用程序我放了一个
$rootScope.$broadcast('loaded', true);
在异步部分的回调/成功函数中 然后把我的代码放在这里:
$scope.$on('loaded', function(){ //everything is loaded });
像我说的那样,不确定这是否是一个好的解决方案。我使用它来让我的应用程序等待异步函数在启动我的应用程序之前完成读取文件。我想,有些答案比没有答案要好。