拨打http时将搜索过滤器添加为可观察的

时间:2018-09-09 09:16:05

标签: angular

我的json如下:

[
  {
    "name": "one",
    "address": "1 Street"
  },
  {
    "name": "two",
    "address": "2 Street"
  },
  {
    "name": "three",
    "address": "3 Street"
  },
  {
    "name": "four",
    "address": "4 Street"
  },
  {
    "name": "five",
    "address": "5 Street"
  }

 ]

如何针对上面的name过滤传递到getCompanies中的name变量?

  public getCompanies(name): Observable<any> {
    return Observable.create((observer: Observer) => {
      this.http.get(this.companyApiUrl)
        .subscribe(data => {
            observer.next(data)
            observer.complete()
        }, err => observer.error(err))
    })
  }

1 个答案:

答案 0 :(得分:1)

无需将req包裹在http.get中,因为它已经返回了Observable。相反,您可以使用Observable运算符来转换响应,并使用数组map来查找filter属性与传入属性匹配的项目。

请注意,以下代码使用的是rxjs 6

name