我希望這只是一個愚蠢的事情,我忽略或不正確地做,因爲它是在殺我。角度服務承諾和lodash創建空對象
這是一個角度控制器的一部分,該角度控制器基於已知的管理員ID爲一組銷售代表輪詢數據庫(Parse)。
第一部分檢查管理器狀態並返回組memberId's。
然後根據生成的memberId對另外的組成員進行另一次檢查。因此,有一組頂級經理和一組managerId,每個都有一個子組中的銷售代表。
這裏所有的東西都檢查出來了(它可能不是最有效的方法,但它可以工作......現在 - 有時候我不會編寫整個應用程序,我會重做它)。
注意... LoggingService只是一個奇特的console.log輸出。
問題出在最後的承諾返回變量... managerGroup。
最終LoggingService.info(' - > managerGroup',managerGroup)();的輸出。是正確的,它也是輸出到$ scope.pageData。如下:
Object
managerId: "sL0lGF3sYw"
groupMembers: Array [2]
0: Object
managerId: "fytsi64nkp"
salesGroup: false
1: Object
managerId: "gcMIA9xnn0"
salesGroup: Array [3]
0: "6MunY0xGvp"
1: "9O4ly8Coyw"
2: "K67ZSUsE0q"
這是一直在壓抑我的大腦的部分。如果我在managerGroup.groupMembers上運行日誌,結果是:
["fytsi64nkp", "gcMIA9xnn0"]
也許這是我的代碼,也許我錯過了一些東西。
var ClientAccess = Parse.Object.extend('ClientAccessLU');
var query = new Parse.Query(ClientAccess);
query.equalTo('managerId', userId);
query.first().then(function(results) {
// check for manager status
if (results) {
LoggingService.info('user is manager', results)();
$rootScope.managerFlag = true;
// returns the current user managerID and group members
return results.attributes;
} else {
LoggingService.warn('user is not a manager')();
$rootScope.managerFlag = false;
return false;
}
}).then(function(managerData) {
// create a default managerGroup
var managerGroup = {
'managerId': managerData.managerId,
'groupMembers': managerData.salesRepIds
};
// check if members are managers of additional groups and build the inner group
lodash.each(managerGroup.groupMembers, function(member, index){
UserLU.getGroupMembers(member).then(function(innerGroup){
// add the innerGroup member id's to the main group
managerGroup.groupMembers[index] = {
'managerId': member,
'salesGroup': innerGroup.salesRepIds?innerGroup.salesRepIds:false
};
});
});
return managerGroup;
}).then(function(managerGroup){
// then check the innermost group for client sales data as these members are sales reps
LoggingService.info('-> managerGroup', managerGroup)();
$scope.pageData = managerGroup;
});
任何幫助表示讚賞......謝謝。
'managerGroup.groupMembers'是數組還是對象? – kiro112
@ kiro112它是一個數組 – orderofout