2017-02-25 2 views
1

Angular2를 사용하여 Ionic2 프로젝트의 Firebase에서 데이터를 가져 오려고합니다. 다음은 코드입니다. subscribe 방법은 내 방식이 완료된 후 실행이 경우 Angularfire2를 사용하여 Ionic 2에서 subscribe 메소드를 실행하는 방법

getNextItem(): string[] { 

    this.af.database.object(`/user/${uid}/data`) 
    .subscribe(value =>{ 
     this.item = value; 
    }); 
    return this.item; 
    } 

, 내 item는 항상 비어 있습니다. 또한방법 내에서 item을 반환 할 수 없습니다. 그러면 데이터를 가져올 수 있고 subscribe 메서드가 실행 된시기를 식별하는 방법은 무엇입니까?

답변

0

Promise을 새로 만들 필요는 없습니까?

return new Promise(resolve => { 
    this.af.database.object(`/user/${uid}/data`).subscribe(resolve => { 
     this.item = resolve; 
    }); 
}); 

havent이 코드를 사용하여 작동하는지 잘 모르겠습니다.

나는 일반적으로

getDataByUser(fbPath: string, userId: string) { 
    return new Promise(resolve => { 
     this.af.database.list(`${fbPath}/${userId}/data`) 
      .subscribe(res => resolve(res)); 
    }) 
} 
같은 것을 쓰기
관련 문제