Parallelize and remove useless Promise.all (#2581)

This commit is contained in:
Greg Bergé
2024-11-22 15:54:56 +01:00
committed by GitHub
parent 99b6c92377
commit eab7931afb
2 changed files with 28 additions and 27 deletions
+5 -7
View File
@@ -874,13 +874,11 @@ export async function getSpaceContentData(
spaceId: pointer.spaceId,
revisionId: changeRequest?.revision ?? pointer.revisionId ?? space.revision,
};
const [pages] = await Promise.all([
getRevisionPages(space.id, contentTarget.revisionId, {
// We only care about the Git metadata when the Git sync is enabled
// otherwise we can optimize performance by not fetching it
metadata: !!space.gitSync,
}),
]);
const pages = await getRevisionPages(space.id, contentTarget.revisionId, {
// We only care about the Git metadata when the Git sync is enabled
// otherwise we can optimize performance by not fetching it
metadata: !!space.gitSync,
});
return {
space,
+23 -20
View File
@@ -161,28 +161,31 @@ export async function middleware(request: NextRequest) {
userAgent: userAgent(),
}),
async () => {
// Start fetching everything as soon as possible, but do not block the middleware on it
// the cache will handle concurrent calls
await waitUntil(
getSpaceContentData(
{
spaceId: resolved.space,
changeRequestId: resolved.changeRequest,
revisionId: resolved.revision,
},
'site' in resolved ? resolved.shareKey : undefined,
const [siteData] = await Promise.all([
'site' in resolved
? getSiteData({
organizationId: resolved.organization,
siteId: resolved.site,
siteSectionId: resolved.siteSection,
siteSpaceId: resolved.siteSpace,
siteShareKey: resolved.shareKey,
})
: null,
// Start fetching everything as soon as possible, but do not block the middleware on it
// the cache will handle concurrent calls
waitUntil(
getSpaceContentData(
{
spaceId: resolved.space,
changeRequestId: resolved.changeRequest,
revisionId: resolved.revision,
},
'site' in resolved ? resolved.shareKey : undefined,
),
),
);
]);
const { scripts } = await ('site' in resolved
? getSiteData({
organizationId: resolved.organization,
siteId: resolved.site,
siteSectionId: resolved.siteSection,
siteSpaceId: resolved.siteSpace,
siteShareKey: resolved.shareKey,
})
: { scripts: [] });
const scripts = siteData?.scripts ?? [];
return getContentSecurityPolicy(scripts, nonce);
},
);