You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular教程中如何修改日志语句以指定获取的英雄数量?

解决Angular中tap操作符获取Observable值的问题

首先纠正一个误解:你看到的教程表述存在误导,RxJS的tap()操作符完全可以访问Observable发出的值,之前示例里用下划线_只是刻意忽略该参数的写法,而非tap本身无法获取值。

要实现fetched {{heroes.size}} heroes的日志效果,只需修改tap的回调参数,把占位符_换成实际变量名,就能直接拿到返回的英雄数组:

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

这里的heroes就是HTTP请求返回的英雄数组,用heroes.length获取数量后,通过ES6模板字符串(反引号包裹)拼接成日志内容即可。

内容的提问来源于stack exchange,提问作者Jason Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:25:18