我是否必须像这样从外部定义它们:
external fun setTimeout(exec: suspend () -> Unit, timout: Int)
或者在标准库中有我可以使用的东西吗?我不能使用Kotlin.browser.window.setTimeout,因为我想用nodejs运行它。
k0pti3hp1#
在kotlin-stdlib-js中已经有一个setTimeout函数了,你不需要在外部声明它,用法非常简单:
kotlin-stdlib-js
setTimeout
import kotlin.browser.window fun main() { window.setTimeout(handler = { window.alert("Timed out!") }, timeout = 1000) }
这将在1秒后提醒您(另一个众所周知的JS函数),正如预期的那样。
vof42yt12#
它肯定不在stdlib中,我也在做同样的事情,定义我需要的外部函数。
external fun setTimeout(handler: dynamic, timeout: Int = definedExternally, vararg arguments: Any?): Int
omvjsjqw3#
你已经
external fun setTimeout( callback: () -> Unit, ms: Int = definedExternally, ): Timeout
你可以这样使用它:setTimeout({ if(someCondition) doSomething() }, 3000)
setTimeout({ if(someCondition) doSomething() }, 3000)
3条答案
按热度按时间k0pti3hp1#
在
kotlin-stdlib-js
中已经有一个setTimeout
函数了,你不需要在外部声明它,用法非常简单:这将在1秒后提醒您(另一个众所周知的JS函数),正如预期的那样。
vof42yt12#
它肯定不在stdlib中,我也在做同样的事情,定义我需要的外部函数。
omvjsjqw3#
你已经
你可以这样使用它:
setTimeout({ if(someCondition) doSomething() }, 3000)