Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.72 KB | None | 0 0
  1. func getAllStocks(url: String, completion: @escaping (Result<[Stock]?,NetworkError>) -> Void) {
  2.    
  3.     guard let url = URL(string: url) else {
  4.         DispatchQueue.main.async {
  5.             completion(.failure(.invalidURL))
  6.         }
  7.         return
  8.     }
  9.    
  10.     URLSession.shared.dataTask(with: url) { data, response, error in
  11.        
  12.         guard let data = data, error == nil else {
  13.             DispatchQueue.main.async {
  14.                 completion(.failure(.unknownError))
  15.             }
  16.            
  17.             return
  18.         }
  19.        
  20.         let stocks = try? JSONDecoder().decode([Stock].self, from: data)
  21.         DispatchQueue.main.async {
  22.             completion(.success(stocks))
  23.         }
  24.        
  25.     }.resume()
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement