我需要在一个类中集中调用我的实时流Firebase数据库,并从另一个类调用这些方法。该方法旨在“监听”Firebase中的节点,然后在更新时发布到应用程序日志。
但是,我目前的设置指出它是同步的,在应用程序运行时,返回null。如何使此设置有效?
TestFirebaseActions动作流类,方法:
String output;
public async Task<String> realtimeStreamTest()
{
var observable = firebase
.Child("driver_rate")
.AsObservable<DriverRate>()
.Subscribe(d => output = d.Object.driversRate);
return output;
}
调用方法并尝试从另一个类“收听”:
public async void firebaseRealStreamTestMethod()
{
TestFirebaseActions testFirebase = new TestFirebaseActions();
Task<String> contentsTask = testFirebase.realtimeStreamTest();
// await! control returns to the caller and the task continues to run on another thread
string contents = await contentsTask;
Log.Verbose("firebaseRealStreamTestMethod()", contents);
}
如何创建和调用以允许在另一个类中对此observable进行异步侦听?