簡體   English   中英

TypeScript中的雙重聲明是什么意思?

[英]What does double type declarations in TypeScript mean?

我在這里做Angular教程

下面的代碼有雙重類型的聲明,但我不明白它的含義。

handleError<T>(operation = 'operation', result?: T) {
   return (error: any): Observable<T> => {
      console.error(error);

      this.log(`${operation} failed: ${error.message}`);

      return of(result as T);
   };
}

所以錯誤被聲明為類型any,然后有另一個冒號來聲明一個以Observable作為參數的函數。 究竟是什么回歸?

您返回一個函數類型。 它需要一個error: any並返回Observable<T>

(error: any): Observable<T>

在此之后,使用具有body的函數初始化變量

=> {
      console.error(error);

      this.log(`${operation} failed: ${error.message}`);

      return of(result as T);
};

所以你的handleError 返回一個帶簽名的函數,它帶有一個類型為any的參數,並返回一個Observable<T>

(error: any): Observable<T>
return (error: any): Observable<T> => { ... }

返回一個函數,取一個名為error的參數,類型為any ,其返回類型為Observable<T> ,其主體位於花括號之間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM