我使用以下设置从 API 检索对象(例如 GitHub 问题)。这工作正常。
let provider: RxMoyaProvider<GitHub>
let issues: Driver<[IssueViewModel]>
init(provider: RxMoyaProvider<GitHub>) {
self.provider = provider
issues = provider.request(.Issue)
.mapArray(Issue.self, keyPath: "issues")
.asDriver(onErrorJustReturn: [])
.map { (models: [Issue]) -> [IssueViewModel] in
let items = models.map {
IssueViewModel(name: $0.name,
description: $0.description
)
}
return items
}
}
现在我想定期更新问题列表(例如,每 20 秒)。我考虑过NSTimer
完成这项任务,但我想可能有一个我没有想到的干净(er)解决方案(即以 Rx 方式)。
任何正确方向的提示都受到高度赞赏。