Scala.js中的未来可以睡在里面吗?睡在Scala.js的未来中
喜欢的东西:
Future {
Thread.sleep(1000)
println("ready")
}
如果我试试这个,然后我得到一个异常说sleep
方法不存在。
看起来好像有可能睡在JS:What is the JavaScript version of sleep()?即使不可能阻止。
Scala.js中的未来可以睡在里面吗?睡在Scala.js的未来中
喜欢的东西:
Future {
Thread.sleep(1000)
println("ready")
}
如果我试试这个,然后我得到一个异常说sleep
方法不存在。
看起来好像有可能睡在JS:What is the JavaScript version of sleep()?即使不可能阻止。
你真的不能停顿,今后身体的中部,但你可以在你的未来作为后续注册到“延迟”未来,你可以定义为:您可以再
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")
}
只需使用'从链接的解决方案:)(我假设你完全明白你为什么不想做的大部分时间)pausecomp'。 – gzm0
我认为下面给出的答案是完全正确的,并且没有理由为什么有人不应该在任何时候推迟未来。 – jhegedus