anko doAsync onComplete

我知道有两种方法可以在Anko库中执行AsyncTask

  1. doAsync()

  2. doAsyncResult()

我的问题是上面的方法都有onComplete()方法。 在这两个方法的onComplete()中都没有像AsyncTask.onPostExecute()这样的结果跟踪。

例如

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

在任何一种方法中,我只能得到完成的回调而不是结果。 Anko库中用于AsyncTask.onPreExecute()AsyncTask.onPostExecute()的类似方法有哪些。

doAsync用于在不同的线程上执行代码,但在完成时不会将任何内容返回到主线程。

doAsyncResult用于在单独的线程上执行一个活动,并且在单独的线程上完成执行后在主线程上执行一个操作。

要将任何内容推送到主线程,请添加一个新块

 uiThread { //write you code here }