Преобразование URLSession.DataTaskPublisher в будущего издателяIOS

Программируем под IOS
Ответить
Anonymous
 Преобразование URLSession.DataTaskPublisher в будущего издателя

Сообщение Anonymous »

Как преобразовать URLSession.DataTaskPublisher в Future в среде объединения.
На мой взгляд, издатель Future более подходит здесь, поскольку вызов может выдать только один ответ и в конечном итоге завершается неудачей.

В RxSwift есть вспомогательный метод, такой как asSingle.

Я добился этого преобразования, используя следующий подход, но понятия не имею, лучший ли это метод.

Код: Выделить всё

        return Future.init { (observer) in
self.urlSession.dataTaskPublisher(for: urlRequest)
.tryMap { (object) -> Data in
//......
}
.receive(on: RunLoop.main)
.sink(receiveCompletion: { (completion) in
if case let .failure(error) = completion {
observer(.failure(error))
}
}) { (response) in
observer(.success(response))
}.store(in: &self.cancellable)
}
}
Есть ли простой способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/604 ... -publisher
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»