gpt4 book ai didi

angular - 如何等待 Firebase List Observable 的响应

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:51 26 4
gpt4 key购买 nike

我一直在使用 Angularfire2 制作 Angular2 应用程序。从 Firebase 检索数据时,我遇到了有关 FirebaseListObservable 的问题。这是我的代码。

this.requests = this._af.database.list('/requests');

此后不久,我记录了这个变量。

console.log(this.requests);

然后我得到一个未定义的,但我想等待这个请求的响应,因为 this.requests 在这段代码中总是未定义的。我希望你能教我如何等待 firebase 请求的结果。对不起我糟糕的英语。

最佳答案

由于从 Firebase 检索数据是异步的,因此当请求的数据进来时,您需要“订阅”事件。重要的是在连接不再使用后关闭(取消订阅)以避免 further problems .这可以通过以下代码实现:

this.requests = this._af.database.list('/requests')
.subscribe(data => {
data.forEach(obj => {
console.log(obj.$key);
console.log(obj.$value);
});
this.requests.unsubscribe();
});

如果你想保留连接,因为你正在更新你的数据,你应该省略 this.requests.unsubscribe(); 而是放置

ngOnDestroy(){
this.requests.unsubscribe();
}

在您的组件中,因此当您的组件被销毁时连接会关闭。

关于angular - 如何等待 Firebase List Observable 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40878997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com