Как вернуть объект в котором есть асинхронный map?

Хочу вернуть объект в котором items, это набор асинхронных map ?

const items = await news.getRawMany();

return {
 items: items.map(async item => {
  let category = await this.getCompanyNewsCategory(item['category_id']);
  return {
    id: category,
  }})
};


Если без объекта, то все работает:
return Promise.all(items.map(async item => {
  let category = await this.getCompanyNewsCategory(item['category_id']);
  return {
    id: category,
  }}))
  • Вопрос задан
  • 116 просмотров
Решения вопроса 2
mlnkv
@mlnkv
JavaScript Developer
class Foo {  
  async method() {
    const items = await news.getRawMany();
    const result = await Promise.all(items.map(async (item) => {
      let category = await this.getCompanyNewsCategory(item['category_id']);
      return { id: category };
    }));
    return { items: result };
  }
}
Ответ написан
Комментировать
WblCHA
@WblCHA
Если без объекта, то все работает

Естественно работает, там вообще другая логика. Можно же было её скопировать.
const items = await news.getRawMany();

return {
 items: await Promise.all(items.map(async item => {
  let category = await this.getCompanyNewsCategory(item['category_id']);
  return {
    id: category,
  }}))
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы