如何从另一个类调用实时流方法

时间:2017-03-24 01:36:02

标签: c# firebase xamarin firebase-realtime-database async-await

我需要在一个类中集中调用我的实时流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进行异步侦听?

0 个答案:

没有答案