typescript中函数类型后的尖括号表示什么?

例如:

function main(initialHmrState?: any): Promise<any>

getHeroes (): Observable<Hero[]> {
    return this.http.get(this.heroesUrl)
                    .map(this.extractData)
                    .catch(this.handleError);
  }
  
  

冒号之后是函数返回类型那么尖括号里的表示什么?

阅读 27.7k
2 个回答

尖括号表示泛型,可以用来约束内容(这话我感觉说的也难懂)

那举个例子吧,声明一个函数test,我希望她接受一个叫参数nums,而且这个参数是数组,且数组里的内容必须是number,可以这么写:

var test = function(nums: Array<number>) {
    console.log(nums);
};

然后,当调用test函数时,如果传入的参数不是数组,或者数组里不是number类型的值的话,就会错误:

图片描述

图片描述

你这里的返回值,意思是“必须是Promise,但Promiseresolve的值不固定,可以是任意(any)值”

logo
Microsoft
子站问答
访问
宣传栏