2017-10-04 4 views
0

질문은 간단합니다 : 어떻게하면 find() 메소드를 찾을 수 있습니까? Observable을 그 안에 발견 된 문서로 반환 하시겠습니까?NeDB find() 결과를 관찰 가능으로 변환하기

약속을 사용하면 모든 것이 잘됩니다.

getData(){ 
return new Promise((resolve, reject) => { 
    this.db.find({}, (err, docs) => { 
    if (err) reject(err); 
    resolve(docs); 
    }); 
}) 
} 

그러나, 나는이 같은이 문제를 해결하기 위해 관찰 가능한을 사용하려고하면 : 가입자가 도착

getDataObs() { 
    return new Observable(subscriber => { 
     this.db.find({}, (err, docs) => { 
     if (err) subscriber.error(err); 
     subscriber.next(docs); 
     }); 
    }) 
    } 

결과는 정의되지 않습니다를.

관찰 점 생성 방법 bindCallback()이 콜백을 받고 관찰 가능 항목을 반환하므로이 문제를 해결해야합니다. 하지만 제대로 사용할 수 없었습니다. 나는 반응 프로그래밍에 익숙하지 않았기 때문에 이것을 이해하는데 도움이 필요하다. 그리고 나에게 이상하게 보인다.

답변

0
getData(){ 
    var arr =[]; 
    return this.getDataObs().subscribe(rs=>{ 
     if(rs && rs.length>0) arr = rs; 
    }); 
}