Я пытаюсь получить данные тегов для каждой записи блога, которую извлекаю из базы данных. Для этого мне нужно сначала выполнить асинхронный вызов базы данных, чтобы получить данные сообщений блога, которые содержат идентификаторы тегов, связанных с сообщениями соответственно. Затем мне нужно перебрать этот массив сообщений и выполнить второй асинхронный вызов базы данных, чтобы получить объекты тегов, связанные с соответствующими идентификаторами тегов для каждого сообщения.
Это мой код:
Код: Выделить всё
const result: DB_PostModel[] = await queryDatabase({ query, values });
const posts = result.map(async (post) => ({
...post,
tags: await getTags(post.tags),
}))
Первый вызов работает отлично. Однако конечным результатом является массив неразрешенных промисов.
Объект Posts выглядит следующим образом после операции .map():
Я не могу разрешить этот массив объектов сообщений. Я даже не знаю, выполнит ли getPosts() успешный вызов, потому что я не могу ничего делать с сообщениями, поскольку не могу разрешить промисы.
Как мне разрешить промисы?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... asynchrono