Как преобразовать обещание в обещание

#node.js #typescript #promise #nestjs #typeorm

#node.js #машинопись #обещание #nestjs #typeorm

Вопрос:

Я новичок в этом машинописном тексте, nestjs. Я хочу знать, как я могу преобразовать Promise<any[]> Promise<MyEntity[]> , чтобы я мог успешно выполнить этот созданный мной код:

  const usersfromTransaction = this.repoTransaction
      .createQueryBuilder()
      .select('user_id', 'id')
      .distinctOn(['user_id'])
      //.leftJoinAndSelect("user", "user")
      .where('EXTRACT(YEAR FROM created_date)=EXTRACT(YEAR FROM NOW())')
      .andWhere('extract(month from created_Date)=extract(month from now())')
      .limit(10)
      .getRawMany();

    const users = this.repoUser.find(usersfromTransaction);

    return user;
 

Пользовательская сущность:

 @Entity()
export class User {
@PrimaryGeneratedColumn('uuid')
id:string;
 @Column({ nullable: true })
firstname:string;
 @Column({ nullable: true })
lastname:string;
}
 

Ошибка в этой строке кода this.repoUser.find(usersfromTransaction);

Комментарии:

1. какой тип TS repoUser ?

2. @MicaelLevi, обновил этот вопрос, сэр.

3. вы не показали, откуда this.repoUser пришли. Если вместо этого вы использовали пользовательский репозиторий typeorm , то тип users будет Promise<User[]> . Попробуйте сначала

Ответ №1:

Сначала вы должны преобразовать его в unknown или any , вот так…

 const usersfromTransaction = ......... as unknown as Promise<MyEntity[]>;