私はPlayについてどうか少し混乱しています!コントローラレイヤーで動作します。 Play!常に非同期で非ブロッキングです。ですから私はAction対Action.asyncと混同しています。アクションはブロックされていますか?もしそうなら、そしてDocsはあなたが常に非同期で非ブロッキングであるべきだと言っています。そして、あなたは常にあなたのすべてのコントローラでAction.asyncを使うべきですか?なぜあなたはあまり選んでいないでしょうか?私がここで理解していないことがあると確信しています。あなたの専門知識のどれかがこれを理解することで大きく評価されます。再生:常にAction.asyncを使用する必要がありますか?
6
A
答えて
5
再生は完全に非同期で非ブロックです。
ほとんどのアクションはインラインで実行する必要があり、Playはこれを便利に反映します。しかし、あなたのアクション内に非同期操作がある場合(例えばWSを呼び出す場合)、Action.asyncを使用して将来の結果を返すことができます。
1
Action
はブロックされており、Request=>Result
の機能が使用されていますので、ブロックすることができます。 Action.async
はノンブロッキングであり、Request=>Future[Result]
の機能が必要ですが、ここではノンブロッキングなものだけが重要であることを認識することが重要です。 @Christopher Huntが言及しているWS呼び出しは、戻り値の型としてAction.asyncが期待するものを容易にFuture[Result]
に変換できるFuture [Response]を与えるため、良い例です。しかし、非同期の非同期の可能性のあるものにはscala.Future API
を自由に使用できます。&
関連する問題
- 1. イベントに常にEventHandlerを使用する必要がありますか?
- 2. CookieManagerで常にCookieSyncManagerを使用する必要がありますか? 。
- 3. 最後のtargetSdkVersionを常に使用する必要がありますか?
- 4. Silverlightゲームで常にゲームループを使用する必要がありますか?
- 5. データモデリング:常に交差テーブルを使用する必要がありますか?
- 6. Webkitは常にメインスレッドで使用する必要がありますか?
- 7. ソケットを常にバインドする必要がありますか?
- 8. ネットワークアクティビティインジケータは常にアクティブにする必要がありますか?
- 9. フィードリーダー:常にクライアント側にする必要がありますか?
- 10. AVFoundation AVFoundationビデオ再生用のビデオ - 再生開始前に全ファイルをダウンロードする必要があります
- 11. プログラムカウンタは常に変更する必要がありますか?
- 12. オンラインゲームにTCPを使用する必要がありますか?
- 13. MVVMにDataTemplatesを使用する必要がありますか?
- 14. 非常にスケーラブルで効率的な残りのjson処理にスプレーまたは再生を使用する必要がありますか?
- 15. iOS:マップ用のカスタムアノテーションクラスを常に作成する必要がありますか?
- 16. 発信者にオーディオを再生する必要があります
- 17. 選択時にUITableViewCellサブクラスでサウンドを再生する必要があります
- 18. @synthesizeをまだ使用する必要がありますか?
- 19. Perlアップデート - モジュールを再インストールする必要がありますか?
- 20. InitCommonControlsEx()とInitCommonControls()を使用する必要がありますか?
- 21. はcaptchaを使用する必要がありますか?
- 22. ディスパッチブロックで「weakSelf」を使用する必要がありますか?
- 23. 私はフォームタグを使用する必要がありますか?
- 24. xlibの "XAllocSizeHints()"を使用する必要がありますか?
- 25. ブートストラップを使用する必要がありますか?
- 26. Rails 3.1:CoffeeScriptを使用する必要がありますか?
- 27. コンテンツプロバイダを使用する必要がありますか?
- 28. ライブチャット - 何を使用する必要がありますか?
- 29. アクセサーを使用する必要がありますか?
- 30. タイプコードのインターフェイスを使用する必要がありますか?