Как исправить устарелые сопрограммы async, пользовательский интерфейс и ждать на Android Studio - PullRequest
0 голосов
/ 28 сентября 2019

Я работаю над приложением chatbot, использующим kotlin с прошлого года.До меня дошло, что некоторые сопрограммы устарели с прошлого года, и я не обновлял их.

import kotlinx.coroutines.experimental.android.UI
import kotlinx.coroutines.experimental.async
import org.jetbrains.anko.coroutines.experimental.bg
import org.jetbrains.anko.custom.async

Мой файл Gradle

  `implementation "org.jetbrains.anko:anko-commons:$anko_version"
implementation "org.jetbrains.anko:anko-sdk15-coroutines:$anko_version"
implementation "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version"
implementation "org.jetbrains.anko:anko-design-coroutines:$anko_version"
implementation "org.jetbrains.anko:anko:$anko_version"

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1'`

Вот проблема

async(Contacts.Intents.UI) {
    val response = bg {
        aiDataAIService.request(aiRequest)
    }
    if (response.await() != null) {
        sendMessageToServer(response.await())
    }else{
        Log.v("test", "didn't send")
    }
}

Initially the app was compiling and worked very well, but now it ends up with an error whenever I try to compile.

1 Ответ

0 голосов
/ 28 сентября 2019
GlobalScope.async(Dispatchers.Main) {
    val response = bg {
        aiDataAIService.request(aiRequest)
    }
    if (response.await() != null) {
        sendMessageToServer(response.await())
    }else{
        Log.v("test", "didn't send")
    }
}
...