#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[]>;