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