1
すでに実行中のScalaz Task
(または何らかのラッパー)が必要です。完了した場合はすぐに値を返し、そうでない場合は値を返します。場合完了を作成直後に非同期に実行されているScalaZタスクの作成方法は?
val f = myTask.get.started
私はFuture
計算が完了した後に呼び出されたときにf.run
に戻ると、すぐにその結果が、非同期で実行されている、またはいくつかの時間のためにブロックして待機している。この方法は:Future
という点では、私はこのようにそれを行うことができますそうではない。しかし、このように私はエラー処理を緩めます。
どうTask
を持っているとFuture
を使用していないが、それでも、それはすでにrun
前に、非同期実行している、またはrunAsync
はそれで呼び出されますか?
ありがとうございますが、私の問題は解決しません。それでも、誰かがその上で '実行'を呼び出すまでは実行されていません。私は、それが作成された後、十分な時間が呼び出されたときに値を即時に返すタスクが必要です(与えられた時間は非同期に計算されたためです)。私が間違っていなければ、これは 'fork'の場合とは異なります。 – amorfis
これは意図したとおりに動作しています。あなたが明示的な声明なしで動くものを望むなら、 '未来'を使ってください。 – Reactormonk