如何使用angularfire2以JSON格式通过id获取对象?

时间:2017-08-23 13:33:34

标签: firebase angularfire2

我正在寻找简单地将对象作为JSON,而不是作为可观察对象。

到目前为止,我可以:

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对象作为响应?

1 个答案:

答案 0 :(得分: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;
}