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
}
とあなたがすることができますただ、(私はあなたがこの時間のほとんどを行うにはしたくないだろう理由を十分に認識していると仮定)リンクされた溶液から `pausecomp` :)を使用し
val readyLater = for {
delayed <- delay(1000)
} yield {
println("ready")
}
:として使用します。 – gzm0
私は以下の答えは完全にうまくいくと思うし、誰かが未来を遅らせることを望むときはいつも、それを使用してはならない理由はありません。 – jhegedus