私は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. データモデリング:常に交差テーブルを使用する必要がありますか?
- 3. CookieManagerで常にCookieSyncManagerを使用する必要がありますか? 。
- 4. コントローラに通常の方法を使用する必要がありますか?
- 5. 最後のtargetSdkVersionを常に使用する必要がありますか?
- 6. Silverlightゲームで常にゲームループを使用する必要がありますか?
- 7. ARCOREでビデオを再生する必要があります
- 8. 変数を再利用する必要がありますか?
- 9. Webkitは常にメインスレッドで使用する必要がありますか?
- 10. Onscrollビデオは1回再生する必要があります
- 11. ソケットを常にバインドする必要がありますか?
- 12. ネットワークアクティビティインジケータは常にアクティブにする必要がありますか?
- 13. フィードリーダー:常にクライアント側にする必要がありますか?
- 14. 常にナビゲーションプロパティを使用するか、.Whereクエリを使用する必要がありますか?
- 15. AVFoundation AVFoundationビデオ再生用のビデオ - 再生開始前に全ファイルをダウンロードする必要があります
- 16. サウンドは一度しか再生されず、代わりに2回再生する必要があります
- 17. プログラムカウンタは常に変更する必要がありますか?
- 18. オンラインゲームにTCPを使用する必要がありますか?
- 19. MVVMにDataTemplatesを使用する必要がありますか?
- 20. ページレイアウトにapplication.html.erbを使用する必要がありますか?
- 21. ctagsにバージョンコントロールを使用する必要がありますか?
- 22. AVAudioPlayerを使用して、バックグラウンドまたはメインスレッドでサウンドを再生する必要がありますか?
- 23. 非常にスケーラブルで効率的な残りのjson処理にスプレーまたは再生を使用する必要がありますか?
- 24. pauseおよびaddEventListenerでremoveEventListenerを再生する必要がありますか?
- 25. iOS:マップ用のカスタムアノテーションクラスを常に作成する必要がありますか?
- 26. 派生クラスのコンストラクタは、ベースキーワードを使用する必要がありますか?
- 27. @synthesizeをまだ使用する必要がありますか?
- 28. IVに使用する必要がありますか?
- 29. 発信者にオーディオを再生する必要があります
- 30. 選択時にUITableViewCellサブクラスでサウンドを再生する必要があります