我目前经历的角度教程和整个下面的代码来:转换的JavaScript箭头功能正常功能
getHero(id: number): Promise<Hero> {
return this.getHeroes().then(heroes => heroes.find(hero => hero.id === id));
}
出于好奇,我决定用一个正常功能重写回调函数:
getHero(id: number): Promise<Hero> {
return this.getHeroes().then(heroes => heroes.find(this.findHero, id));
}
findHero(hero: Hero, index: number, array: Hero[]): boolean {
if(hero.id === this.id){
return true;
}else{
return false;
}
}
但是,这给我的错误Property 'id' does not exist on type 'HeroService'.
我怎么可能引用传递给我的callb的id
参数ack功能?
你好@damianmr,谢谢你提供的内容丰富的评论,确实有帮助。我在这里看看关闭:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures我从中学到了很多东西。 我只能在你提供的代码中改变一点。 'findHero'函数的参数必须按以下顺序写入: 'findHero(idToFind:number,hero:Hero,index:number,array:Hero []):布尔值{' 我不确定为什么和当前谷歌搜索答案。 谢谢, – kiseragi
找到原因。绑定的参数被添加到了有界的函数中:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind 谢谢, – kiseragi
@kiseragi我会更新答案,我从我的记忆中写下来,并认为它被添加到结尾:) – damianmr