Как вернуть объект в котором есть асинхронный 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,
  }}))
  • Вопрос задан
  • 39 просмотров
Решения вопроса 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,
  }}))
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
27 янв. 2021, в 00:37
11111 руб./за проект
26 янв. 2021, в 23:30
3000 руб./за проект
26 янв. 2021, в 23:07
1000 руб./за проект