如何处理有时返回case类对象的方法的返回类型,有时返回该case类的Future

时间:2017-07-13 20:45:55

标签: scala playframework playframework-2.0 future

假设我有4个对象,它们共享相同的方法getParentName()

对象getParentName()中的两个返回Info,这只是一个案例类

object Jack extends Person {
   override def getParentName(): Info = {...}
}

object Mila extends Person {
   override def getParentName(): Info = {...}
}

,其他两个返回Future [Info]:

object Mike @Inject() (wsclient: WSClient) extends Person {
   override def getParentName(): Future[Info] = {...}
}

object Amy @Inject() (wsclient: WSClient) extends Person {
   override def getParentName(): Future[Info] = {...}
}

现在我想让PeopleManager类迭代这些对象列表并获得getParentName()结果:

class PeopleManager {

    def getParentsNames ():??? = {
       listOfPeople.map(person => person.getParentName)
    }

}

但我不确定处理getParentsNames()返回类型的正确方法是什么......

控制器将在Action中使用PeopleManager来释放GET方法以获取父母姓名。什么是处理这种情况的好方法?

谢谢!

0 个答案:

没有答案