在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())
  }

最佳答案

如果您对不起,我将首先从问题中第一个链接的Deferred类文档中引用第一句话:



实际上,deferred是Future或Promise(see this wikipedia article)的同义词。
Deferred类是 kotlinx-coroutines 项目的一部分,该项目为Kotlin协程提供库支持。建议开始学习更多有关它的方法是阅读此guide

关于android - Anko coroutines kotlin中的Deferred是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44794669/

10-10 10:09