Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 在多个引用中使用同一类型_Typescript - Fatal编程技术网

Typescript 在多个引用中使用同一类型

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;

使用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; 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
}