IT이야기

Rxjs 필터 연산자가 각도2 관찰 가능으로 작업하지 않음

cyworld 2022. 3. 21. 08:59
반응형

Rxjs 필터 연산자가 각도2 관찰 가능으로 작업하지 않음

플런커에서 나는 클래스 멤버 내의 각도2 관측 가능(Rxjs)에 대한 필터 연산자를 고용하려고 한다.서비스.ts관찰 가능은 http 요청으로 가져오며, 이 요청은 다음과 같이 처리한다.

  getMembers (): Observable<Member[]> {
    var one = this.http.get(this.memberUrl)
    .map( this.extractData )
    //.filter(x => x.type==='member')
   return one
 }

제 질문은:필터가 있는 라인을 필터로 압축 해제할 때 목록이 렌더링되지 않는 이유(In-memory-data.service.ts를 확인하십시오)? 내 생각에는 관측 가능 상태가 지도 연산자 다음 개체 상태일 뿐 유형 속성이 없다.확실하진 않지만!

당신의 관찰 가능은 배열된 단일 항목이다.그것은 그 배열 안에 있는 항목들을 관찰할 수 있는 것이 아니다. x필터 함수:x=> x.type ==="member"배열이다, 그래서x.type존재하지 않는다.원하는 작업을 수행하려면 해당 어레이에 반복하십시오.

getMembers (): Observable<Member[]> {
    var one = this.http.get(this.memberUrl)
                    .map( this.extractData )
                    .map(memberArray => {
                        return memberArray.filter(x=> x.type === "member")
                    })
    return one
  }

참조URL: https://stackoverflow.com/questions/38622325/rxjs-filter-operator-not-working-with-angular2-observable

반응형