?Esta parte de nuestro curso de kotlin es una continuación de una nota anterior en la que te empezamos a explicar cómo puedes evitar que un hilo en la programación de Android plasme tus aplicaciones. Te sugerimos que la leas antes de continuar con la lectura de esta. Ahora continuamos con este tema.
Por lo tanto, utilizamos la palabra clave suspendida para hacer una función como función de suspensión. Aquí, tome el siguiente ejemplo:
suspend fun getLatestData() {
val latestUpdates = networkRequest()
display(latestUpdates)
}suspend fun networkRequest() {
...
}
getLatestData () y networkRequest () se han definido como funciones de suspensión, ya que getLatestData () tendrá que esperar a que networkRequest () devuelva la respuesta. Por lo tanto, puede tomar nota de que una función de suspensión solo puede ser invocada por otra función de suspensión.
Cuando su hilo principal llama a networkRequest (), suspenderá el networkRequest () fuera del hilo principal y, por lo tanto, el hilo principal continuará ejecutando su tarea. Siempre que esté listo networkRequestresult, el subproceso principal simplemente reanudará la ejecución secuencial de la función, en lugar de enviar las devoluciones de llamada tradicionales al subproceso principal.
Suspender y reanudar están reemplazando la necesidad de devoluciones de llamada. Por lo tanto, así es como funcionan las funciones de suspensión sin bloquear el hilo principal. Además, la palabra clave suspendida no especifica en qué hilo se debe ejecutar el código. Podría ser el hilo principal o el hilo de fondo.
Volvamos a cómo funcionan internamente. De vuelta al ejemplo:
suspend fun getLatestData() {
val latestUpdates = networkRequest()
display(latestUpdates)
}suspend fun networkRequest() {
...
}
En la siguiente nota terminaremos de explicar algunas partes de este código. Ahora bien, con el fin que comprendas que mejor manera como funciona este lenguaje de programación, puedes tomar nuestro curso de javascript y el curso de PHP