在提供程序方法中使用代码时,Firebase返回未定义的值

时间:2018-12-10 06:55:23

标签: angular ionic-framework

我在Ionion页面上使用firebase代码从firebase数据库中检索值,并且此工作正常。

我打算将Firebase代码移到提供程序类中,并在我的Ionic页面中调用提供程序类方法。因此,我不会从页面调用firebase,而是从页面调用provider,提供者将调用firebase。

当我在提供程序中实现如下所示的方法并从ionic页面调用此方法时,提供程序方法将返回undefined。我猜这是由于firebase的异步特性,即使在设置值之前也要执行返回。我该如何理解这个概念并加以解决?我当时在想-而不是使用.on;我应该使用.once来返回一个promise,但是不确定,因为我需要将返回行放在firebase代码/ promise之外,所以我该如何使返回返回等待?

enter image description here

1 个答案:

答案 0 :(得分:0)

这可以通过使用.once并直接返回如下语句来解决。然后,调用方使用.then关键字从诺言中检索数据。 solution