在Angular教程中,如何修改日志行来指定获取的英雄数量?



代码示例如下:

/** GET heroes from the server */
getHeroes(): Observable<Hero[]> {
return this.http.get<Hero[]>(this.heroesUrl)
.pipe(
tap(_ => this.log('fetched heroes')),
catchError(this.handleError<Hero[]>('getHeroes', []))
);
}

教程指出" RxJS tap()操作符通过查看可观察值,对这些值做一些事情,并传递它们来实现这种能力。tap()回调不访问值本身。">

无论如何,我想要这样的东西:

this.log('fetched {{heroes.size}} heroes')

但是我不能得到我的手英雄。我该怎么做呢?

注意,在javascript中,'fetched {{heroes.size}} heroes'将只是一个文字字符串。

我在下面将console.log显示为@enno。空白提到

/** GET heroes from the server */
getHeroes(): Observable<Hero[]> {
return this.http.get<Hero[]>(this.heroesUrl)
.pipe(
tap((heroes) => console.log(`fetched ${heroes.length} heroes`)),
catchError(this.handleError<Hero[]>('getHeroes', []))
);
}

Tap不影响后续流,可以(尽可能避免)用于副作用。

最新更新