当前位置: 首页 > 知识库问答 >
问题:

Kotlin coroutine元素在当前环境下如何获得?

施子民
2023-03-14

打印n(“在${coroutineContext[CoroutineName]}中运行”)

在这种情况下,coroutinename是对映射到coroutinename元素的键的引用。我知道coroutineContext上的get方法查看提供给它的键的泛型类型-在本例中为coroutineName-以获取适当的元素。我想了解的是,当coroutinenamejobcoroutineExceptionHandlercoroutineDispatcher不是coroutineScope接收器的属性时,它们在当前作用域中是如何可以引用的。

共有1个答案

华升
2023-03-14

这些所有的协同上下文元素都有一个属性key,用于在协同上下文(这是一个可寻址的集合)中寻址元素。coroutinename与其他上下文元素一样,将键定义为对象:

companion object Key : Key<CoroutineName>

在Kotlin中,可以使用类名访问类的伙伴对象:

伴生对象是一个单例,可以通过包含类的名称直接访问它的成员(不过,如果您想明确访问伴生对象,也可以插入伴生对象的名称)

所以,我想这两种表达方式会是一样的:

coroutineContext[CoroutineName]
coroutineContext[CoroutineName.Key]

关于伴侣对象的另一个大问题是:在kotlin中命名伴侣对象的意义是什么

顺便说一句,您只需ctrl+单击IDEA中CoroutineContext[CoroutineName]中的CoroutineName即可查看声明。

 类似资料:
  • 在我的javascript中,我做到了 聚焦元素。 我没有尝试遍历DOM树,而是想知道是否可以简单地说 但我似乎在API中找不到它

  • 问题内容: 我一定在想这个错误。 我想在我使用Webdriver / Selenium 2访问的页面上获取元素的内容(在本例中为formfield) 这是我的损坏代码: 结果如下: (请注意空白行)我知道该元素包含内容,因为我只是使用.sendkeys使用先前的命令将它们填充在其中,并且在脚本运行时可以在实际的网页上看到它们。 但我需要将内容重新放入数据中。 我该怎么读?最好以通用方式,以便我可以

  • 无限级菜单 点击每项隐藏或显示每项的后代子菜单 这是另一个vue文件 以下是我实现的方法

  • 问题内容: 您可以使用鼠标选择网页的一部分。 我知道可以获取当前选择的文本,但是如何获取包含当前选择的开始或结束的DOM元素? 问题答案: 在IE中,使用document.selection.createRange()。parentElement(),在实际的浏览器中,使用window.getSelection()。getRangeAt(0).startContainer.parentNode。像

  • 我得了单核细胞增多症 Kotlin代码: 我如何将它的价值放到Reactor环境中,比如: