当不以浏览器为目标时,如何在Kotlin中调用setTimeout等JS函数

当不以浏览器为目标时,如何在Kotlin中调用setTimeout等JS函数,kotlin,kotlin-js,Kotlin,Kotlin Js,我是否必须像这样从外部定义它们: external fun setTimeout(exec: suspend () -> Unit, timout: Int) 或者stdlib中有我可以使用的东西吗 我无法使用kotlin.browser.window.setTimeout,因为我想用nodejs运行它。在kotlin stdlib js中已经有一个函数。您不需要对外声明它。用法非常简单: import kotlin.browser.window fun main() { wi

我是否必须像这样从外部定义它们:

external fun setTimeout(exec: suspend () -> Unit, timout: Int)
或者stdlib中有我可以使用的东西吗

我无法使用kotlin.browser.window.setTimeout,因为我想用nodejs运行它。

kotlin stdlib js
中已经有一个函数。您不需要对外声明它。用法非常简单:

import kotlin.browser.window

fun main() {
    window.setTimeout(handler = { window.alert("Timed out!") }, timeout = 1000)
}

这将在1秒后提醒您(另一个众所周知的JS函数),正如预期的那样。

它肯定不在stdlib中。我也在做同样的事情,定义我需要的外部函数

external fun setTimeout(handler: dynamic, timeout: Int = definedExternally, vararg arguments: Any?): Int

我试过了,但它不适用于nodejs,因为包名表明它只适用于浏览器。我会更新这个问题