これは私が見落としているか、それが私を殺しているので、正しくやっていないばかげたことだと思っています。角のサービス約束と空のオブジェクトを作成するlodash
これは、既知のマネージャIDに基づいて営業担当者のグループのデータベース(解析)をポーリングする角度コントローラの一部です。
最初のセクションでマネージャのステータスがチェックされ、グループmemberIdが返されます。
次に、結果のmemberIdに基づいて追加のグループメンバーを確認します。したがって、managerIdのグループを持つトップレベルのマネージャーがあり、それぞれに子グループに営業担当者IDがあります。
すべてがここにチェックアウトされています(それは、そこに到達する最も効率的な方法ではないかもしれませんが...今のところ、私はアプリ全体を書いていないいつか私はやり直します)。
注: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