Typescript 在多个引用中使用同一类型
使用TypeScript和Angular,我创建了对HTTP observable的以下订阅:Typescript 在多个引用中使用同一类型,typescript,Typescript,使用TypeScript和Angular,我创建了对HTTP observable的以下订阅: this.movie.getByKeywordIDChrono().subscribe((data: { page: number, results: object[], total_pages: number, total_results: number }) => { if (data.total_pages > 1) { for (let i = 2;
this.movie.getByKeywordIDChrono().subscribe((data: {
page: number,
results: object[],
total_pages: number,
total_results: number
}) => {
if (data.total_pages > 1) {
for (let i = 2; i <= data.total_pages; i++) {
this.movie.getByKeywordIDChronoNextPage(i).subscribe((data: {
page: number,
results: object[],
total_pages: number,
total_results: number
}) => {
...
})
}
}
})
this.movie.getByKeywordIDChrono().subscribe((数据:{
页码:编号:,
结果:对象[],
总页数:页数,
总结果:数量
}) => {
如果(data.total_pages>1){
for(设i=2;i{
...
})
}
}
})
对于数据
对象,两个订阅具有相同的类型
如何在两个实例中使用为数据参数创建的类型?使用接口或类型别名:
type MyData = { // type alias
page: number,
results: object[],
total_pages: number,
total_results: number
}
this.movie.getByKeywordIDChrono().subscribe((data: MyData) => {
if (data.total_pages > 1) {
for (let i = 2; i <= data.total_pages; i++) {
this.movie.getByKeywordIDChronoNextPage(i).subscribe((data: MyData) => {
...
})
}
}
})
interface MyData {
page: number,
results: object[],
total_pages: number,
total_results: number
}