Skip to content

Commit a4200ec

Browse files
committed
Use Future to emit result from Alamofire request per CR suggestion.
1 parent d489b4e commit a4200ec

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

Networking/Networking/Network/AlamofireNetwork.swift

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,13 @@ public class AlamofireNetwork: Network {
7979
/// - Returns: A publisher that emits the result of the given request.
8080
public func responseDataPublisher(for request: URLRequestConvertible) -> AnyPublisher<Swift.Result<Data, Error>, Never> {
8181
let authenticated = AuthenticatedRequest(credentials: credentials, request: request)
82-
let subject = PassthroughSubject<Swift.Result<Data, Error>, Never>()
8382

84-
Alamofire.request(authenticated).responseData { [weak subject] response in
85-
let result = response.result.toSwiftResult()
86-
subject?.send(result)
87-
subject?.send(completion: .finished)
88-
}
89-
return subject.eraseToAnyPublisher()
83+
return Future() { promise in
84+
Alamofire.request(authenticated).responseData { response in
85+
let result = response.result.toSwiftResult()
86+
promise(Swift.Result.success(result))
87+
}
88+
}.eraseToAnyPublisher()
9089
}
9190

9291
public func uploadMultipartFormData(multipartFormData: @escaping (MultipartFormData) -> Void,

0 commit comments

Comments
 (0)