gpt4 book ai didi

future - 在 Scala.js 中沉睡在 Future 中

转载 作者:行者123 更新时间:2023-12-02 20:39:36 26 4
gpt4 key购买 nike

是否可以在 Scala.js 中的 Future 中休眠?

类似于:

Future {
Thread.sleep(1000)
println("ready")
}

如果我尝试这样做,则会收到异常,提示 sleep 方法不存在。

似乎可以在 JS 中休眠:What is the JavaScript version of sleep()?即使无法阻止。

最佳答案

你不能真正在 future 主体的中间暂停,但你可以将你的 future 注册为“延迟”Future 的后续,你可以将其定义为:

def delay(milliseconds: Int): Future[Unit] = {
val p = Promise[Unit]()
js.timers.setTimeout(milliseconds) {
p.success(())
}
p.future
}

然后您可以将其用作:

val readyLater = for {
delayed <- delay(1000)
} yield {
println("ready")
}

关于future - 在 Scala.js 中沉睡在 Future 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46617946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com