2017-09-29 4 views
1

2 개의 관찰 가능 스트림을 하나의 스트림에 결합하여 combineLatest과 결합하려고합니다. .map() 함수는 결과 스트림에서 작동하지 않습니다. 그리고 작동하지 않는다면 아래 예제에 아무것도 기록되지 않았 음을 의미합니다. 다른 하나는 .subscribe() 함수에 대해 .map() 함수를 전환하면 모든 것이 올바르게 작동합니다. 내 관찰은 angularfire2 라이브러리를 사용하는 firebase에서 나온 것입니다. 또한 map 함수를 가져 왔으며 다른 Observable 스트림에서도 작동합니다.Rxjs : combineLatest에서 맵 메서드가 실행되지 않습니다.

const placeList = this._db.list(URL) 
    .map(this.flattenJSON); 
const placeImages = this._db.list(URL); 
Observable.combineLatest(placeList, placeImages) 
    .map(response => { 
     console.log(response); 
     return response; 
    }); 
subscribe 기능이 작동하고, map하지 않는 이유

사람이 알고 있나요? 그리고 누구든지 2 firebase Observable 스트림을 병합하고이 스트림을 매핑하는 방법에 대한 조언을 갖고 있습니까? angularfire2에서 발생하는 관찰 가능한 스트림이 완료되지 않았 음을주의하십시오.

+1

아직 관측 가능을 구독해야합니다 ... 구독하지 않으면 알림을받지 못합니다. – Catalyst

+1

아, 그거 재미 있어요! 나는'map' 함수 다음에'.subscribe'를 연결하려고 시도했지만 이제는 로깅 중입니다! 나는 이것을 몰랐다. 조언 주셔서 감사합니다, 마침내 그것을 알아 냈어. 답변을 만들면 – sjbuysse

+0

완료합니다. 감사 :) – Catalyst

답변

0

사실 관측이 실제로 실행되기를 원하면 관측 가능을 구독해야합니다.

const placeList = this._db.list(URL) 
    .map(this.flattenJSON); 
const placeImages = this._db.list(URL); 
Observable.combineLatest(placeList, placeImages) 
    .map(response => { 
     console.log(response); 
     return response; 
    }) 
    .subscribe();