From a616912f45fb28a530e396d57181cac195443a72 Mon Sep 17 00:00:00 2001 From: Aldo <31822427+comanche2@users.noreply.github.com> Date: Thu, 8 Feb 2024 14:39:07 +0200 Subject: [PATCH] fix: split `getContent` to chunks in `getIndexedContentsList` (#2354) --- src/runtime/server/content-index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/runtime/server/content-index.ts b/src/runtime/server/content-index.ts index 9d7c95823..1b89693bc 100644 --- a/src/runtime/server/content-index.ts +++ b/src/runtime/server/content-index.ts @@ -2,7 +2,7 @@ import type { H3Event } from 'h3' import type { ParsedContent } from '../types' import type { ContentQueryBuilder } from '../types/query' import { isPreview } from './preview' -import { cacheStorage, getContent, getContentsList } from './storage' +import { cacheStorage, chunksFromArray, getContent, getContentsList } from './storage' import { useRuntimeConfig } from '#imports' export async function getContentIndex (event: H3Event) { @@ -39,7 +39,13 @@ export async function getIndexedContentsList (event: H3Event, .filter(key => (path as any).test ? (path as any).test(key) : key === String(path)) .flatMap(key => index[key]) - const contents = await Promise.all(keys.map(key => getContent(event, key))) + const keyChunks = [...chunksFromArray(keys, 10)] + + const contents = [] + for (const chunk of keyChunks) { + const result = await Promise.all(chunk.map(key => getContent(event, key))) + contents.push(...result) + } return contents as unknown as Promise }