diff --git a/src/services/guildService.ts b/src/services/guildService.ts index e490c304..d409654d 100644 --- a/src/services/guildService.ts +++ b/src/services/guildService.ts @@ -59,6 +59,7 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s const members: IGuildMemberClient[] = []; let missingEntry = true; + const dataFillInPromises: Promise[] = []; for (const guildMember of guildMembers) { const member: IGuildMemberClient = { _id: toOid(guildMember.accountId), @@ -70,8 +71,12 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s if (guildMember.accountId.equals(accountId)) { missingEntry = false; } else { - member.DisplayName = (await Account.findById(guildMember.accountId, "DisplayName"))!.DisplayName; - await fillInInventoryDataForGuildMember(member); + dataFillInPromises.push( + (async (): Promise => { + member.DisplayName = (await Account.findById(guildMember.accountId, "DisplayName"))!.DisplayName; + })() + ); + dataFillInPromises.push(fillInInventoryDataForGuildMember(member)); } members.push(member); } @@ -90,6 +95,8 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s }); } + await Promise.all(dataFillInPromises); + return { _id: toOid(guild._id), Name: guild.Name,