Funções suspend que funcionam em todos os lugares
Escreva lógica assíncrona segura em várias plataformas com corrotinas
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(): UserSequencial, 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. 🎉
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
- Funções suspend que funcionam em todos os lugares
- Dispatchers em todas as plataformas
- CoroutineScope e ciclo de vida
- withContext e concorrência estruturada