当不针对浏览器时,如何在 Kotlin 中调用像 setTimeout 这样的 JS 函数

thi*_* gg 5 kotlin kotlin-js

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

external fun setTimeout(exec: suspend () -> Unit, timout: Int)
Run Code Online (Sandbox Code Playgroud)

或者 stdlib 中有我可以使用的东西吗?

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

mad*_*ead 4

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

import kotlin.browser.window

fun main() {
    window.setTimeout(handler = { window.alert("Timed out!") }, timeout = 1000)
}
Run Code Online (Sandbox Code Playgroud)

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