私は機能の一部としてHTTP要求を行うライブラリを構築しています。それを複数の環境で動作させるには、Futuresの有無にかかわらず作業できるように配備されます。Syncronous Scala別スレッドなしの将来
非同期HTTP実装を使用しているかどうかに応じて、タイプFuture
のライブラリのインスタンス、またはタイプId
のインスタンスを作成できるように、ライブラリのパラメータ型をレスポンスの型に設定することをお勧めします。 (Id
はアイデンティティモナドかもしれません - ユーザーに一貫したインターフェースを公開するには十分です)
私はこのアプローチから始めましたが、複雑になっています。私が本当に代わりにしたいのは、未来型のどこでも、将来のボクシングの同期応答を必要に応じて使用することです。しかし、Futuresを使用すると常にスレッドプールが発生することを理解しています。これは飛行しません。 AppEngine(必要な環境)。
現在のスレッドで実行される値から未来を作成し、スレッドを生成することができない環境で問題を引き起こさない方法はありますか?
(psの追加要件として、私はscala.concurrentで利用できる機能を制限可能性がありますバックのScala v2.9.1にライブラリを構築横断できるようにする必要があります)、私はあなたがしたい理解して何から
'未来を作成する方法はありますか?現在のスレッドで実行する必要があります。 – Jatin
私が説明したように、実装全体で一貫したリターンタイプを作成するには – adamnfish
私はこの質問を理解することはできませんでした。あなたがすでにresultの最終的な価値を持っていて将来のラッパーが必要な場合は、 'Promise'を使うのはどうですか? – Jatin