我是否必须像这样在外部定义它们:
external fun setTimeout(exec: suspend () -> Unit, timout: Int)
或者我可以使用 stdlib 中有什么东西吗?
我不能使用 kotlin.browser.window.setTimeout 因为我想用 nodejs 运行它。
中已经有一个setTimeout
功能kotlin-stdlib-js
。您不需要在外部声明它。用法非常简单:
import kotlin.browser.window
fun main() {
window.setTimeout(handler = { window.alert("Timed out!") }, timeout = 1000)
}
正如预期的那样,这将在 1 秒后提醒您(另一个著名的 JS 函数)。
它绝对不在标准库中。我也在做同样的事情,定义我需要的外部函数。
external fun setTimeout(handler: dynamic, timeout: Int = definedExternally, vararg arguments: Any?): Int