2016-09-28 7 views
2

사용자 정의 관찰 가능 항목을 만들 수 있습니까?사용자 정의 Observable 만들기

내 요청 :

private device: Device; 
getDeviceById(deviceId): Observable<Device> { 
    if(this.device._id == deviceId) { 
     let myObservable = new Observable('with my device'); 
     return myObservable; 
    } else return this.http.get('/api/device/get/'+deviceId) 
       .map(res => res.json()) 
       .catch(this.handleError); 
} 

감사의

+0

내가 문제 야 이해하지 않습니다

var button = document.querySelector('button'); var subscription = Rx.Observable.create(function(obs) { button.onclick = function(event) { obs.next(event); } .subscribe(function(value) { console.log(value); },); 

이 링크에서 자세한 내용을 참조하십시오. 왜 Custom Observable을 만들 수 없습니까? 아니면'http' 요청 대신에 observable을 사용하고 싶습니까? – martin

답변

0

네, 만들 수있는 하나 개의 주제 난 내 캐시에 데이터가있는 경우 예를 들어 은, 내가 전에 HTTP 요청을 사용자 관찰을 만들 싶습니다 응답 can i emmit the event from parent to child에 설명 된대로 관찰 가능한대로 작업하고 캐시에 데이터가있을 때 사용하십시오.

0

는 다음과 같은 작업을 수행 할 수 있습니다

getDeviceById(deviceId): Observable<Device> { 
if(this.authProvider == deviceId) { 
    return Observable.create(observer => { 
     observer.next("something"); 
     observer.complete(); 
    }); 
} else return this.http.get('/api/device/get/'+deviceId) 
      .map(res => res.json()) 
      .catch(this.handleError); 
+0

나는 이것으로 이미 시도했지만 반환 된 Observable은 "Observable "유형이 아닙니다. –