BlogType是我定义的实体类
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { Blog } from './blog';
@Entity()
export class BlogType {
@PrimaryGeneratedColumn()
id: number;
@Column()
type_name: string;
@OneToMany(() => Blog, blogs => blogs.blog_type)
blogs: Blog[];
}
这是findOne的定义
findOne(id?: string | number | Date | ObjectID, options?: FindOneOptions<Entity>): Promise<Entity | undefined>
控制台能输出值
BlogType { id: 1, type_name: '随笔' }
ts提示返回的是undefined,就很蒙,如果我给返回值限制类型为undefined,就会反过来提示
typeRepository.findOne的返回结果是 Promise<Entity | undefined>,把undefined的结果处理掉就好了呀
====== 补充 ========
我是这个意思,边界情况总得解决一下吧。别人类型声明就是告诉你,findOne返回的结果可能是undefined(刨除了promise相关的表达),如果是undefined你后面的逻辑就全是错的,所以你要处理,这也是声明存在的意义呀