微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法理解地图在 Angular 中的工作原理

如何解决无法理解地图在 Angular 中的工作原理

我想先说我是一个 Angular 菜鸟。所以我正在开发一个实现 typeahead 功能的应用程序,我正在通过部署在 GCP 上的 Express 后端进行 HTTP 调用,以根据搜索关键字从 TMDB 数据库获取搜索结果

this.http
      .get<any>('https://hw8-308202.wl.r.appspot.com/search?search='+term).pipe(
        map(data => data
        ))
        .subscribe(data => console.log(data));

我收到诸如 -

之类的回复
[
    {
        "id": 10255,"backdrop_path": "NA","media_type": "movie","title": "Ab-normal Beauty"
    },{
        "id": 1320678,"media_type": "person","title": "NA"
    },{
        "id": 131563,{
        "id": 259172,"backdrop_path": "/iZfCRsA9wcTZ0yWsuhXSHe4krdy.jpg","title": "Beyond the Great Wall"
    },{
        "id": 115301,{
        "id": 107531,{
        "id": 1820070,"title": "NA"
    }
]

现在,afaik 当我将上面的内容传递给 map 时,它应该遍历每个 json,但它将整个响应视为一次迭代。我无法迭代单个结果并仅提取标题。我该怎么做?

解决方法

您指的是 array.map。 observable 中的 map 与它不同。 你必须这样做。

this.http.get<any>('https://hw8-308202.wl.r.appspot.com/search?search='+term).pipe(
   map(data => {
     const titles: string[] = [];
     for (const e of data) {
       titles.push(e.title);
     }
     return titles;
   })
).subscribe(data => console.log(data));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?