0Pricing
Swift Academy · Aula

Sintaxe async/await e chamada de funções assíncronas

Escreva e chame funções assíncronas e compreenda os pontos de suspensão.

Sintaxe async/await e chamada de funções assíncronas é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

A sintaxe async/await do Swift faz o código assíncrono parecer código síncrono durante a leitura. `async` marca uma função que pode ser suspensa; `await` marca um ponto de suspensão.

Função async

```swift func fetchUser(id: Int) async throws -> User { let url = URL(string: "https://api.example.com/users/\\(id)")! let (data, _) = try await URLSession.shared.data(from: url) return try JSONDecoder().decode(User.self, from: data) } ```

Chamando com await

```swift Task { let user = try await fetchUser(id: 42) print(user.name) } ```

Pontos de suspensão

`await` é um ponto de suspensão — a função pausa nesse ponto e devolve a thread ao sistema. Quando a operação assíncrona é concluída, a execução é retomada.

async no MainActor

```swift @MainActor func updateUI() async { let data = try? await fetchData() label.text = data?.description ?? "Error" } ```

Adaptando retornos de chamada para async

```swift func fetchAsync() async throws -> Data { try await withCheckedThrowingContinuation { cont in URLSession.shared.dataTask(with: url) { data, _, error in if let data { cont.resume(returning: data) } else { cont.resume(throwing: error!) } }.resume() } } ```

Tratamento de erros com try await

```swift do { let user = try await fetchUser(id: 1) render(user) } catch URLError.notConnectedToInternet { showOfflineMessage() } catch { showError(error) } ```

await em loops for

```swift for id in userIds { let user = try await fetchUser(id: id) // sequential process(user) } ``` Isso busca um item por vez. Para fazer buscas simultâneas, use async let.

Retornando valores

```swift func sum(a: Int, b: Int) async -> Int { await Task.sleep(nanoseconds: 1_000_000) return a + b } let result = await sum(a: 3, b: 4) // 7 ```

Propriedades assíncronas

```swift var thumbnail: UIImage { get async { try! await loadImage(url: imageURL) } } let img = await post.thumbnail ```

Verificação rápida

O que `await` significa em um ponto de suspensão?

Recapitulação

Principais conclusões: • `async` — marca uma função que pode ser suspensa • `await` — ponto de suspensão; a linha de execução é liberada enquanto aguarda • `try await` para funções assíncronas que lançam erros • `@MainActor` para operações da interface do usuário • `withCheckedThrowingContinuation` conecta retornos de chamada A seguir: Task e cancelamento.

Perguntas Frequentes

A aula “Sintaxe async/await e chamada de funções assíncronas” é grátis?

Sim — o texto completo de “Sintaxe async/await e chamada de funções assíncronas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Sintaxe async/await e chamada de funções assíncronas”?

Escreva e chame funções assíncronas e compreenda os pontos de suspensão. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Sintaxe async/await e chamada de funções assíncronas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Sintaxe async/await e chamada de funções assíncronas
  2. Task e cancelamento de Task
  3. async let e tarefas filhas concorrentes
  4. Atores: proteção do estado mutável compartilhado
← Voltar para Swift Academy