1

在这样的运营商链中,您曾经能够返回 Publishers.Just(defaultValue) 但它已被弃用,我再也找不到实现此功能的方法。返回默认值的新方法是什么?

 $query
    .throttle(for: 0.5, scheduler: DispatchQueue.main, latest: true)
    .removeDuplicates()
    .map { query -> AnyPublisher<[Repo], Never> in
       guard query.count >= 3 else {
          return Publishers.Just([])
                   .eraseToAnyPublisher()
          }
          return API().search(with: query)
               .retry(3)
               .eraseToAnyPublisher()
          }
4

1 回答 1

3

我能够让它工作:

Result.Publisher([])
    .eraseToAnyPublisher()

如果您只需要发回一个错误,您可能还需要指定类型:

Result<YourObject, YourError>.Publisher(.failure(YourError.error))
    .eraseToAnyPublisher()

资源

于 2019-10-12T19:00:37.270 回答