Geon

Modern Concurrency Deep Dive(3) 본문

iOS developer essential skills/Modern Concurency

Modern Concurrency Deep Dive(3)

jgkim1008 2024. 11. 16. 23:51

신규 URLSession  API

 - 기존 completion으로 복잡함으로 간단하게 변경할수 있다.

 - Completion 누락등 휴먼 에러도 쉽게 찾아낼수 있다.

func fetch() try await -> User? {
 do {
  let url = URL(string: "www.test.com")
  let response = try await URLSession.shared.data(from: url) 
  guard (response as? HTTPURLResponse)?.stateCode.contains(200..<299) else {
  return nil  
  }
  
  let user = try JSONDecoder().decode(User.self, from: data)
  return user
  } catch let error {
  print(error)
  throw error
  }
}