我正在跟随英雄的官方教程之旅。
我在hero.service.ts
中遇到了一个问题,其功能是使用HTTP PUT方法更新新英雄。
这样的代码:
/** PUT: update the hero on the server */
updateHero(hero: Hero): Observable<any> {
return this.http.put(this.heroesUrl, hero, httpOptions).pipe(
tap(_ => this.log(`updated hero id=${hero.id}`)),
catchError(this.handleError<any>('updateHero'))
);
那么_
在代码中的含义是什么?
答案 0 :(得分:1)
_
只是用于缩短箭头功能的空白标识符。所以在这种情况下
_ => this.log(`updated hero id=${hero.id}`)
等同于
() => this.log(`updated hero id=${hero.id}`)
稍有不同,_
可以作为箭头函数中的参数访问(尽管它可能具有值undefined
),而第二个代码段不会有任何可访问权限参数。
最后,以_
开头的变量(或只是_
本身)在typescript中有一个特殊的属性。在设置--noUnusedParameters
标志时,如果不使用这些变量,则不会导致编译错误。