2016-09-02 59 views
0

我是一個錯誤,類型'函數'不提供匹配下面的篩選器的簽名。這是真的,因爲過濾器需要一個特定的類型。如何定義我的回調以匹配過濾器所期望的?回調函數中的Typescript錯誤:類型'Function'不提供匹配的簽名

private _getItemFilteredBy(itemName: string, Fn: Function): Observable<any[]> { 
    return this.getItemByName(itemName) 
     .map((items: any[]) => { 
      return items.filter(Fn); 
     }); 
} 

回答

3

過濾器需要一個謂詞。將類型更改爲(x:any) => boolean

private _getItemFilteredBy(itemName: string, Fn: (x:any) => boolean): Observable<any[]> { 
    return this.getItemByName(itemName) 
     .map((items: any[]) => { 
      return items.filter(Fn); 
     }); 
} 

如果你有比「任何」更具體的類型信息,我建議你更新是太多,但我已經張貼以上應該工作。

相關問題