TypeError:无法读取未定义的属性(阅读“bigPoster”)
async getCollections(): Promise<ICollection[]> {
const genres = await this.getAll()
const collections = await Promise.all(
genres.map(async (genre) => {
const moviesByGenre = await this.movieService.byGenres([genre._id])
const result: ICollection = {
_id: String(genre._id),
title: genre.name,
slug: genre.slug,
image: moviesByGenre[0].bigPoster,
}
return result
})
)
return collections
}
1条答案
按热度按时间3phpmpom1#
您可以使用
Optional Chaining
功能,该功能出现在ES2020
版本的JavaScript中。出现此错误是因为在您的代码中,
moviesByGenre
数组可能有时为空。如果是这样的话,你没有任何海报在里面。因此,您无法在undefined
值中获得bigPoster
键。如果数组为空,符号
?.
将返回undefined而不是错误。