2017-08-23 6 views
0

JSONとしてオブジェクトを取得するのは、ではなく、を観測対象として探しています。anglefire2を使用してJSON形式のオブジェクトをidで取得する方法は?

は、これまで私ができる:

fbGetCarById(car_id: string){ 

     var car_json; 

     var car_obs: FirebaseObjectObservable<any>; 
     car_obs = this.db.object('/cars/'+car_id, { preserveSnapshot: true }); 

     car_obs.subscribe(snapshot => { 
      console.log(snapshot.val()) 
      car_json = snapshot.val(); 
     }); 

     return car_json; 
    } 

しかし、.subscribeは直線的にスナップショットを返さない非同期機能なので、すべてが= /混乱を終了します。

単純にオブジェクトを検索し、の単純な JSONオブジェクトをレスポンスとして使用するにはどうすればよいですか?

答えて

0

プロミスを返すことができます。

fbGetCarById(car_id: string):Promise<string>{ 

    const promise = new Promise<string>((resolve,reject)=>{ 
    var car_obs: FirebaseObjectObservable<any>; 
    car_obs = this.db.object('/cars/'+car_id, { preserveSnapshot: true }); 

    car_obs.subscribe(snapshot => { 
     resolve(snapshot.value()) 
    }); 

    } 


    return promise; 
} 
関連する問題