У меня есть последовательность идентификаторов и функция, которая возвращает параметр [workItem] для каждого идентификатора. Все, что я хочу сделать, это генерировать последовательность workItem из этих двух вещей. Я пробовал различные комбинации карт, foreach и для понимания, и ничего не работает.Создайте новую последовательность scala из другой последовательности
def getWorkItems(ids: Future[Seq[Id]]): Future[Seq[Option[WorkItem]]] = {
ids.map {
id: workItemId => id.map(getWorkItem(_)
}
}
Это дает мне ошибку - выражение типа Seq [Опция [WorkItem] не соответствует ожидаемому типу _B
Я попытался Еогеасп -
def getWorkItems(ids: Future[Seq[Id]]): Future[Seq[Option[WorkItem]]] = {
ids.map {_.foreach(getWorkItem(_)}
}
Это дает мне ошибку - Expression типа Unit не соответствует ожидаемому типу _B
Я не уверен, что это за тип _B и как я могу это сделать.
Что вы хотите, чтобы произошло, если функция не возвращает None? –
@ RamonJ.RomeroyVigil Я не решаю, что просто вернусь к последовательности опций. –
Возможный дубликат [Как сгладить список параметров с использованием функций более высокого порядка?] (Http://stackoverflow.com/questions/2895069/how-to-flatten-list-of-options-using-higher-order-functions) –