2017-02-25 4 views
1

Angular2を使用して、私のIonic2プロジェクトでFirebaseからデータを取得しようとしています。以下はコードです。この場合Angularfire2を使用してIonic 2でsubscribeメソッドを実行する方法

getNextItem(): string[] { 

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

、私のitemは私のメソッドが完了した後subscribeメソッドの実行時に常に空です。私はまた、メソッド内から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)); 
    }) 
} 
ような何かを書きます
関連する問題