anko doAsync onComplete

Sé que hay dos methods disponibles para hacer AsyncTask en la biblioteca de Anko .

  1. doAsync ()

  2. doAsyncResult ()

Mi pregunta es que ambos methods tienen el método onComplete() . En onComplete() ambos methods no hay ningún rastro de resultado como AsyncTask.onPostExecute() .

Ejemplo :

  doAsync { sdkServiceFactory.initSDKService() onComplete { Log.d("Controller", "Sdk Connected") } } val result = doAsyncResult { onComplete { Log.d("Controller", "Sdk Connected") } sdkServiceFactory.initSDKService() }.get() 

En cualquier método, puedo get solo la callback completada no el resultado. ¿Cuáles son los methods similares disponibles en la biblioteca Anko para AsyncTask.onPreExecute () y AsyncTask.onPostExecute () .

doAsync se usa para ejecutar código en un hilo diferente, pero no devuelve nada al hilo principal cuando termina.

doAsyncResult se utiliza para realizar una actividad en un subprocess separado y ejecutar una operación en el subprocess principal después de completar la ejecución en el subprocess independiente.

Para impulsar cualquier cosa al hilo principal, agregue un nuevo bloque con

 uiThread { //write you code here }