我正在使用針對Net 4.0的Microsoft Visual Studio Comunity 2015。我已經通過Nuget安裝了以下內容:Rx-Main 2.2.5,Microsoft.Bcl.Async 1.0.168。我需要等待一個觀察的,但是當我寫在Net 4.0中使用Microsoft.Bcl.Async等待Observable
Await Observable.Return(42)
我得到一個編譯錯誤:
「BC36930 '等待' 要求類型「的IObservable(整型)'有一個合適的GetAwaiter方法。「
需要注意的是,我能夠等待一個Task
,在Await TaskEx.FromResult(42)
,而不是可觀察到的。我用對象瀏覽器來檢查Rx庫,但沒有GetAwaiter擴展方法,而Github repo包含在System.Reactive.Linq.Observable類中。有沒有辦法解決這個問題,或者我應該堅持Await Observable.Return(42).ToTask
?
是的,我可以等待,如果我轉換爲任務,正如我在我的問題中所述。 Rx [聲明](https://blogs.msdn.microsoft.com/rxteam/2012/03/12/reactive-extensions-v2-0-beta-available-now/)Observable可以直接等待,但在我的情況下它不能,甚至沒有Observable.FirstAsync - 失敗,同樣的錯誤。 – francezu13k50
@ francezu13k50我已經更新了我的答案 - 這不會讓你感到高興,我很害怕... – Slugart
感謝您的回答。我會繼續瞄準Net 4.0,因爲我需要支持Windows XP。 – francezu13k50