3

学校のコーディング課題では、フラットマップを使用する必要がありますが、それが何をするのかまったくわかりません。オンラインで数ページ読んだり、教科書を読んだりしましたが、それが何をするのかまだ真に理解していません。マップが何をするかは知っていますが、何らかの理由でフラットマップに頭を悩ませるのは難しいです。誰でも助けることができますか?ありがとう。

さらに情報を追加するために、オンラインで例を見ると、フラットマップがマップとは異なるものを返す方法がわかります。しかし、flatmap が呼び出されたときに実際に行っていることは何でしょうか。flatmap は実際にどのように機能しますか? 結果を返す前に何をしていますか?

4

3 に答える 3

0

リアクティブプログラミングでは、 flatMapを使用してFuture[Future[List]]Future[List]に変換する必要がある状況に陥ることがよくあります。たとえば、次の 2 つの関数があります。データベースからユーザーを取得し、取得したユーザーを処理しますどちらもFuture[List[User]]を返します。mapgetおよびprocessに適用すると、結果はFuture[Future[List[User]]]になり、意味がありません。代わりに、flatMap を使用する必要があります。

def main(): Future[List[User]] = getUsers flatMap processUsers    
def getUsers: Future[List[User]]
def processUsers(users: List[User]): Future[List[User]]
于 2015-11-29T03:59:14.553 に答える