xitio, publicación de artículos gratis, participación ciudadana, notas de prensa
  Usuario: Clave:    
 
 
Documento sin título
 
Documento sin título
 
Documento sin título
Home
Xnechijli01 11/12/2019 10:57:27 PM
Xnechijli01
Llamadas de rutina en kotlin
Cmo hacer llamadas de rutina
votos 0 comentarios 0 enviar vínculo a un amigo
Tags Kotlin
 
Kotlin y las llamadas de rutina
 

?Continuamos con nuestro curso de kotlin 

Nuestro hilo principal llega a la línea getLatestData () y lo agrega al hilo principal como cualquier otra función secuencial. Luego, ejecuta el interior de la función secuencialmente hasta que aparezca cualquier otra función de suspensión.

En este punto, tocamos la función de suspensión networkRequest (). Ahora, getLatestData () es una función de suspensión suspendida por Kotlin hasta que su resultado esté listo, y una copia del estado actual de getLatestData () se guarda en la memoria para referencia futura. Ahora en el hilo principal, Kotlin golpea networkRequest (), que también suspende. Nuestro hilo principal siempre permanece libre.

Kotlin sabe cómo reanudar estas funciones suspendidas. Primero, reanudará el último networkRequest () restaurando el estado que guardó anteriormente. Luego, restaurará getLatestData () restaurando su estado y, por lo tanto, continuando la ejecución del programa secuencialmente sin bloquear el hilo principal. ¡Siempre! Por lo tanto, obtenemos un código más simple y más legible. Gracias a corutinas.

Convertir devoluciones de llamada en rutinas

Recuerda que las devoluciones de llamada hacen que el código sea más difícil de leer y más difícil de razonar, y no ayudan a lidiar con los errores sin tener que escribir el código adicional.

Las rutinas te permiten escribir todo tu código secuencialmente, lo que hace que sea más fácil de leer y tenga características como excepciones para solucionar errores.

Tomemos el siguiente ejemplo:

// Annotation signifies which thread it should execute on
@UiThread
fun makeNetworkRequest() {
slowFetch { result ->
// When the result is ready, this callback will get it
show(result)
}
// makeNetworkRequest() exits after calling slowFetch without waiting for the result
}

Por lo tanto, este código se puede escribir como:

// Annotation signifies which thread it should execute on
@UiThread
suspend fun makeNetworkRequest() {
val result : Response = slowFetch() 
// makeNetworkRequest will be suspended
// Until result is ready
}suspend fun slowFetch() : Response {
...
}

Dado que nuestro código se vuelve secuencial, es muy fácil encadenar múltiples operaciones de larga duración.

Similar al patrón async-await, el waitit () no se llama directamente cuando llamamos a la función de suspensión. Kotlin usa el Deferred.await () que se usa para esperar un resultado.

Es todo por hoy. Visita estos enlaces :

Curso de php 

?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 

renta de aulas 

 

Te gustó esta nota, compártela con tus amigos
ico_copada.gif ico_delicious.png ico_enchilame.gif ico_facebook.png ico_fresqui.gif ico_google.gif ico_meneame.gif ico_myspace.gif ico_technorati.png ico_twitter.gif ico_yahoo.png
Visitá otras notas de Xnechijli01
Chrome Out
Borges a escena
Premio engao RapiPAgo o Pago fcil cuidado
Macri y el estacionamiento pago
Participar en sociedaccion tiene sus privilegios
Redefiniciones
 
Comentarios 0  
Enviá tu comentario
Para dejar tu comentario debes ser miembro de xitio.
 
Documento sin título
 
Documento sin título
 
 
 
 
Documento sin título
 
Nos contaron que leen
Documento sin título
 
Documento sin título
Documento sin título
 
Documento sin título
 
Documento sin título
 
 
Documento sin título
 
 
 
Documento sin título
 
Publicar es gratis, sólo tienes que registrarte y escribir.