无法将类型'PrimitiveSequence <singletrait,string =“”>'的返回表达式转换为类型'Observable <string>'的返回表达式

时间:2018-08-15 05:27:01

标签: rx-swift

我遇到错误 无法将“ PrimitiveSequence”类型的返回表达式转换为“ Observable”类型

一个Single返回PrimitiveSequence,那么如何将其转换为String类型的Observable?

return Single<String>.create(subscribe: { (single) in
    single(.success("test"))            
    return Disposables.create { }
})

正确的方法-我有一个API,它将返回String(例如Token)。

2 个答案:

答案 0 :(得分:0)

我相信您应该将func的return语句更改为Single<String>

func getTest() -> Single<String> {
    return Single<String>.create { single in
        single(.success("test"))            
        return Disposables.create { }
    }
}

答案 1 :(得分:0)

只需坚持.asObservable() ...

func foo() -> Observable<String> {
    return Single<String>.create(subscribe: { (single) in
        single(.success("test"))
        return Disposables.create { }
    }).asObservable()
}