Kotlin Multiplatform Academy · Aula

Funções suspend que funcionam em todos os lugares

Escreva lógica assíncrona segura em várias plataformas com corrotinas

Aula 1 de 413 etapas

Funções suspend que funcionam em todos os lugares é uma aula grátis de Kotlin Multiplatform 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 Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

Assíncrono, escrito uma vez

Chamadas de rede e leituras de disco levam tempo, portanto precisam ser assíncronas. Com corrotinas, você escreve essa lógica assíncrona uma vez no código compartilhado, e os dois aplicativos a reutilizam. 🚀

O que significa suspender

Uma função suspensa pode pausar e continuar sem bloquear a thread. Ela se parece com código sequencial normal, mas nunca congela a interface.

suspend fun loadUser(): User

Sequencial, não bloqueante

Dentro de uma função suspensa, você chama outras funções suspensas em ordem normal. Cada uma pode pausar, mas a linha seguinte só é executada quando o resultado está pronto.

val user = loadUser()
val posts = loadPosts(user.id)

Ela vive em commonMain

A mesma função suspensa é compilada para Android e iOS. Coloque-a em commonMain para que nenhuma das plataformas precise escrever sua própria cópia.

suspend fun fetchScore(): Int = api.getScore()

A chamada precisa de uma corrotina

Você não pode chamar uma função suspensa a partir de código comum. Ela precisa ser executada dentro de uma corrotina, iniciada por um escopo ou por outra função suspensa.

Uma função suspensa chama outra

O lugar mais simples para chamar uma função suspensa é outra função suspensa. Elas se encadeiam, formando fluxos assíncronos compartilhados maiores a partir de unidades menores.

suspend fun refresh() {
    val data = loadUser()
}

Nenhuma thread no seu código

Você nunca precisa iniciar uma thread manualmente. As corrotinas agendam o trabalho para você, e é por isso que o mesmo código é seguro no iOS e no Android.

Os valores de retorno parecem normais

Uma função suspensa retorna um valor como qualquer outra função. Não há retornos de chamada aninhados, então a lógica compartilhada permanece simples e fácil de ler. ✨

suspend fun total(): Int =
    loadCart().sumOf { it.price }

As exceções fluem naturalmente

Quando uma chamada suspensa falha, ela lança uma exceção que você pode envolver em try/catch. O tratamento de erros fica parecido com o código síncrono comum.

try { loadUser() } catch (e: Exception) { }

Um bloco de construção assíncrono compartilhado

Trate cada função suspensa como uma unidade de trabalho reutilizável. Componha-as no código compartilhado, e as duas interfaces simplesmente aguardam a mesma lógica.

Por que isso é importante para KMP

Como as funções suspensas são Kotlin puro, sua lógica de negócio assíncrona não diverge entre as plataformas. Escreva a parte difícil uma vez e compartilhe-a em todos os lugares. 🎯

Verificação rápida

Vamos verificar a ideia principal sobre funções suspensas.

Recapitulação

Você aprendeu que as funções suspensas permitem escrever a lógica assíncrona uma vez: elas pausam sem bloquear, se comportam como código sequencial e são compiladas para todos os destinos do KMP. 🎉

Grátis para começar

Aprenda Kotlin com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Funções suspend que funcionam em todos os lugares” é grátis?

Sim — o texto completo de “Funções suspend que funcionam em todos os lugares” é 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 Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

O que vou aprender em “Funções suspend que funcionam em todos os lugares”?

Escreva lógica assíncrona segura em várias plataformas com corrotinas Você pratica Kotlin Multiplatform 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 Kotlin Multiplatform Academy?

Nenhuma experiência prévia é necessária. Kotlin Multiplatform 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 “Funções suspend que funcionam em todos os lugares”?

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 Kotlin Multiplatform Academy?

Sim. Cada aula de Kotlin Multiplatform 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. Funções suspend que funcionam em todos os lugares
  2. Dispatchers em todas as plataformas
  3. CoroutineScope e ciclo de vida
  4. withContext e concorrência estruturada
← Voltar para Kotlin Multiplatform Academy