在Anko coroutines kotlin中推迟了什么?

Pat*_*kal 2 android kotlin anko kotlin-coroutines

在kotlin的Anko coroutines库中,有一个功能bg()可以在后台线程上轻松执行你的代码.在该返回类型是延期.那么什么是延期

参赞链接

(1) https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Deferred.kt

(2) https://github.com/Kotlin/anko/wiki/Anko-Coroutines#bg

  fun getData(): Data { ... }
  fun showData(data: Data) { ... }

  async(UI) {
      val data: Deferred<Data> = bg {
      // Runs in background
      getData()
      }

      // This code is executed on the UI thread
      showData(data.await())
  }
Run Code Online (Sandbox Code Playgroud)

Rom*_*rov 6

如果你原谅我,我会Deferred从问题的第一个链接中引用课程文档中的第一句话开始:

递延价值是一个无阻碍可取消的未来.

实际上,deferred是未来承诺的同义词(请参阅此维基百科文章).

Deferred班是部分kotlinx-coroutines项目提供了科特林协同程序库支持.开始学习更多内容的推荐方法是阅读本指南.