2017-11-14 14 views
0

Ionic에서 앱을 개발하는 동안 문제가 발생했습니다. 데이터베이스 공급자를 사용하여 데이터베이스에 대한 쿼리를 실행 중이지만 괜찮습니다.하지만 정의되지 않았기 때문에 아마 비동기라고합니다.반환 값을 기다리고 Angular2로 구독하는 방법은 무엇입니까?

this.databaseProvider.getValueFor(saved.id) 
    .then(data => { 
      return data; 
    }); 

이 관찰 가능한 데이터를 반환하고 가입 할 수있는 방법이 있나요 : 나는 데이터베이스에서 값을 반환하고있어 일부 검사 및 기타 로직 후

? 저는 Angular2를 처음 접했고 모든 개념을 알지 못합니다.

답변

1

[** Observable.fromPromise**][1]] 방법을 사용하면 약속을 Observable &으로 변환 한 다음 Observable에 가입하여 데이터를 검색 할 수 있습니다.

SomeMethod(){ 
    return Observable.fromPromise(this.databaseProvider.getValueFor(saved.id)) 
} 

//Usage 
this.SomeMethod().subscribe(data => { 
    console.log("data", data) 
})