Как мне перебрать массив объектов JavaScript, чтобы выполнить асинхронный вызов базы данных для каждого объекта?Javascript

Форум по Javascript
Anonymous
Как мне перебрать массив объектов JavaScript, чтобы выполнить асинхронный вызов базы данных для каждого объекта?

Сообщение Anonymous »

Я пытаюсь получить данные тегов для каждой записи блога, которую извлекаю из базы данных. Для этого мне нужно сначала выполнить асинхронный вызов базы данных, чтобы получить данные сообщений блога, которые содержат идентификаторы тегов, связанных с сообщениями соответственно. Затем мне нужно перебрать этот массив сообщений и выполнить второй асинхронный вызов базы данных, чтобы получить объекты тегов, связанные с соответствующими идентификаторами тегов для каждого сообщения.
Это мой код:

Код: Выделить всё

    const result: DB_PostModel[] = await queryDatabase({ query, values });
const posts = result.map(async (post) => ({
...post,
tags: await getTags(post.tags),
}))
Первый вызов работает отлично. Однако конечным результатом является массив неразрешенных промисов.
Объект Posts выглядит следующим образом после операции .map():

Код: Выделить всё

const posts: Promise[]
Я не могу разрешить этот массив объектов сообщений. Я даже не знаю, выполнит ли getPosts() успешный вызов, потому что я не могу ничего делать с сообщениями, поскольку не могу разрешить промисы.
Как мне разрешить промисы?

Подробнее здесь: https://stackoverflow.com/questions/798 ... asynchrono

Вернуться в «Javascript»