首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RxSwift中的combineLatest中,无法使用类型为“”(@escaping (_) -> _)“”的参数列表调用“filter”

在RxSwift中的combineLatest中,无法使用类型为“”(@escaping (_) -> _)“”的参数列表调用“filter”
EN

Stack Overflow用户
提问于 2020-01-23 23:30:55
回答 1查看 128关注 0票数 1

我试图从我试图合并的两个流中过滤出一些东西。我尝试的这两个值是同一类型的,所以我似乎不能理解为什么我会遇到这个问题。

代码语言:javascript
复制
 let currentUserEmail = Observable.just(currentUserEmail)
            .unwrap()

//使用一些内部方式获取邮箱的访问权限

代码语言:javascript
复制
let listOfAllUsers = Observable.combineLatest(getUsersList(), currentUserEmail) { allUsers, currentUserEmailAddress in
        return allUsers.filter { $0.emailAddress != currentUserEmailAddress } }
    .asObservable()
    .share(replay: 1, scope: .whileConnected)
EN

回答 1

Stack Overflow用户

发布于 2020-01-26 11:17:24

代码语言:javascript
复制
let currentUserEmail = currentUserEmail

let listOfAllUsers = getUsersList()
       .asObservable()
       .share(replay: 1, scope: .whileConnected)

let newListOfAllUsersWithoutCurrentUser = listOfAllUsers.map { allUsers in
             allUsers.filter { $0.emailAddress != currentUserEmail }
         }
         .share(replay: 1, scope: .whileConnected)

这对我来说最终是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59882050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档