programing

rxjs 관찰 가능 .map 실행되지 않음

prostudy 2022. 4. 9. 08:11
반응형

rxjs 관찰 가능 .map 실행되지 않음

나는 관찰 가능한 데이터를 반환하는 다음 코드가 있다. 이 코드가 유효한 JSON인지 확인하고 그렇지 않으면 URL에서 가져오려고 한다.착취와 모든 것이 통한다.

load():Observable<IStandardListOutput[]> {

return Observable.create(observer => {

  if (this.needsFetch) {
    var data;
    this.http.get(this.data)
      .map(res => {
        var result = res.text();
        // console.log(result);
        try {
          data = JSON.parse(result)
        } catch (e) {
          return Observable.of([{error:"ERROR LOADING JSON: " + this.data}]);
        }
        return data;
      }).subscribe(res => {
        observer.next(this._parse(res));
        observer.complete();
      });
  }else {
    observer.next(this._parse(this.data));
    observer.complete();
  }
});

}

이제 관찰자의 지도/구독 부분에서 나는 다음과 같은 것을 가지고 있다.

let observable$ = this.loader.load(); // <-- load method above
observable$.map(res => {
  console.warn ("IN MAP: " + JSON.stringify(res));
});

observable$.subscribe(res=> {
    console.log("IN SUB: " + JSON.stringify(res));
  },
  err => {
    console.log(JSON.stringify(err))
  },
  () => {
    console.info("COMPLETE")
  }
);

출력/콘솔에 보이는 것은 「IN SUB」(구독) 기능과 「COMPLETE」뿐이다.콘솔..map 함수의 경고는 실행되지 않는다.

어떤 도움이라도 고맙다, 미리 고맙다.

그 지도는 추위를 유지하는 관측 가능한 것을 만들기 때문에 실행되지 않는다(가입하지 않는다.빈 항목 추가subscribe()잘 될 거야

observable$.map(res => {
  console.warn ("IN MAP: " + JSON.stringify(res));
}).subscribe();

그리고 rxjs 디버깅에 대한 또 다른 팁, 그 값을 엿보려면 항상 그 값을 사용할 수 있다.do연산자(사용자 정의)map).

observable$
  .do((v) => console.log('debug point: ', v)) // <-- this is the addition.
  .subscribe(...your original handlers go here ...)

rxjs는 많이 변했다.각도 2(8)는 각도와는 매우 다르다.JS.

rxjs에서 버전 6을 가져오려면

import {map} from 'rxjs/operators';

그리고, 당신의 코드에, 그것을 포함시켜라.pipe, 예를 들어,

observable.pipe(map(res => res.json()).subscribe( {
console.log("IN SUB: " + JSON.stringify(res)); },
  err => {
    console.log(JSON.stringify(err))},
  () => {
    console.info("COMPLETE")
  }

이게 도움이 되길 바래!

참조URL: https://stackoverflow.com/questions/40357753/rxjs-observable-map-not-executing

반응형