簡體   English   中英

Boo中Observable.Create的類型問題

[英]Type problem with Observable.Create from Boo

我正在嘗試使用Boo的Reactive Extensions,並且遇到類型問題。 這是基本示例:

def OnSubscribe(observer as IObservable[of string]) as callable:
    print "subscribing"

    def Dispose():
        print "disposing"

    return Dispose

observable = System.Linq.Observable.Create[of string](OnSubscribe)
observer = System.Linq.Observer.Create[of string]({x as string | print x})
observable.Subscribe(observer)

此處的訂閱給出System.InvalidCastException:無法從源類型轉換為目標類型。 問題似乎與如何創建可觀察對象有關,但是我一直在努力尋找類型問題的來源。

有想法嗎?

Observable.Create接受Func<IObserver,Action> ,但是您的OnSubscribe接受IObservable

嘗試這個:

def OnSubscribe(observer as IObserver[of string]) as callable():
    print "subscribing"

    observer.OnNext("first and only value")
    observer.OnCompleted()

    def Dispose():
        print "disposing"

    return Dispose

observable = System.Linq.Observable.Create[of string](OnSubscribe)
observer = System.Linq.Observer.Create[of string]({x as string | print x})
observable.Subscribe(observer)

類型可觀察<object>不可分配給類型 Observable<div id="text_translate"><pre> GetUserDetailsById(Id): Observable<userdetails> { return this.httpclient.get(this.BaseURI + '/user/UserDetailsById/' + Id).map((response: Response) => <userdetails>response.json()) } 1. constructor(private httpclient: HttpClient) 2. export class userdetails { idUser: number; firstName: string; lastName: string; email: string; permissions: string; isActive: boolean; displayRole: number; }</pre><p> 刪除時出錯.map((response: Response) => response.json())</p><p> Error: Type Observable<Object> is not assignable to type Observable我不想使用.map((response: Response) => response.json()) 有什么建議嗎? 上面的代碼在與 this.http 示例一起使用時工作正常:</p><p> 返回 this.http.get(this.BaseURI + '/user/UserDetailsById/' + Id).map((response: Response) => response.json())</p><ul><li> 構造函數(私有 http:Http)</li></ul></div></object>

[英]Type Observable<Object> is not assignable to type Observable

暫無
暫無

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

相關問題 用 Observable.Create 包裹 Observable.FromEventPattern ReactiveCocoa等效於Observable.Create Observable.Create:CancellationToken不會過渡到IsCancellationRequested 反應式Observable.Create為異步生產者而無需Task.Run 反應框架消除了Observable.Create中的while循環 如何在Boo中創建調度表? 創造可觀察的 <bool> 來自observablecollection 類型可觀察<object>不可分配給類型 Observable<div id="text_translate"><pre> GetUserDetailsById(Id): Observable<userdetails> { return this.httpclient.get(this.BaseURI + '/user/UserDetailsById/' + Id).map((response: Response) => <userdetails>response.json()) } 1. constructor(private httpclient: HttpClient) 2. export class userdetails { idUser: number; firstName: string; lastName: string; email: string; permissions: string; isActive: boolean; displayRole: number; }</pre><p> 刪除時出錯.map((response: Response) => response.json())</p><p> Error: Type Observable<Object> is not assignable to type Observable我不想使用.map((response: Response) => response.json()) 有什么建議嗎? 上面的代碼在與 this.http 示例一起使用時工作正常:</p><p> 返回 this.http.get(this.BaseURI + '/user/UserDetailsById/' + Id).map((response: Response) => response.json())</p><ul><li> 構造函數(私有 http:Http)</li></ul></div></object> 從非標准事件創建 Observable(無 EventArgs / EventHandler) 從舊版 class(啟動方法 + 事件)創建任務(或 Observable)
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM