它是一个IONIC 2应用程序。
我正在使用Promise.all。当所有承诺都完成时,我想调用then函数。目前然后或赶上没有被调用。
我不知道为什么我没有得到console.log(me.contactlist1);
以下是我的代码。
constructor(private zone: NgZone, private cdr: ChangeDetectorRef, nav: NavController) {
console.log("FriendsPage::constructor");
var client = window.skypeWebApp;
let me = this;
client.personsAndGroupsManager.all.groups.subscribe();
client.personsAndGroupsManager.all.groups.get().then(function (groups) {
let tagGroup = [];
for(let group in groups)
{
if (groups[group].name())
tagGroup.push(me.createGroupView(groups[group]));
}
console.log(tagGroup);
Promise.all(tagGroup).then((results) => {
console.log(me.contactlist1);
}).catch((e) => {
console.log(e);
});
console.log("hey");
})
.then(function() {
console.log("friendstest3");
});
}
createGroupView(contactsObj)
{
let me = this;
return new Promise((resolve) => {
let contacts = contactsObj.persons;
contacts.subscribe();
console.log("hello");
let all;
contacts.get().then(function(contact){
console.log("friendstest1");
console.log(contact);
let temp = {key: contactsObj.name(), value: contact}
all = temp;
me.contactlist1(all);
resolve(all);
});
});
}