簡體   English   中英

如何從Prism事件聚合器訂閱者中調用異步方法?

[英]How to call async methods from within a Prism event aggregator subscriber?

快速提問 - 如何在Prism事件聚合器訂閱者操作​​中調用異步方法? 例如

_eventAggregator.GetEvent<PubSubEvent<SomeMessage>>()
   .Subscribe((msg) => {
                       DoSomething();
                       await DoSomethingAsync();
                       DoSomethingElse();
                    });

使用當前的Prism實現, 這里不可能看到

但我找到了Prism的EventAggregator的替代實現,它允許async訂閱。 看到這里

此新事件異步聚合器重載可以與原始重載相同的方式使用:

對事件的訂閱與另一個重載完全相同:


    _eventAggregator.GetEvent<<TfsHookEvent<WorkItemUpdatedPayload>>().Subscribe(WorkItem_Updated);

事件處理程序


    private async Task WorkItem_Updated(WorkItemUpdatedPayload obj)
    {
        await CheckAsync();
    }

只需讓@Charles Mager得到答案

_eventAggregator.GetEvent<PubSubEvent<SomeMessage>>()
   .Subscribe(async(msg) => {
                       DoSomething();
                       await DoSomethingAsync();
                       DoSomethingElse();
                    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM