如何解决在swiftui中使用Combine从服务器获取更多数据时如何追加
我与代码结合使用:
Publishers.CombineLatest($schoolId,$offset)
.filter { $0.0 > 0 && $0.1 >= 0 }
.removeDuplicates(by: { (prev,current) -> Bool in
prev.0 == current.0 && prev.1 == current.1
})
.debounce(for: .seconds(0.3),scheduler: DispatchQueue.main)
.map { APIClient.default.request(forRoute: GetMoreCommentRouter(params: ["schoolId": String($0.0),"offset": String($0.1)],method: .get),forType: [CommentModel].self)
.receive(on: DispatchQueue.main)
.replaceError(with: [])
.handleEvents(receiveSubscription: { [weak self] _ in
self?.isLoading = true
},receiveCompletion: { [weak self] _ in
self?.isLoading = false
self?.currentText = "No comment here."
},receiveCancel: { [ weak self] in
self?.isLoading = false
self?.currentText = "Error from server!"
}) }
.switchToLatest()
.receive(on: DispatchQueue.main)
.assign(to: \.commentList,on: self)
.store(in: &disposeStore)
当我更改偏移量时,再次调用API。我想将新数据从服务器追加到commentList。 但是我没有办法。我是联合收割机的新手。请帮助我!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。