groovy 无法将io.reactivex.Flowable分配< io.reactivex.Maybe>给:io.reactivex.Flowable< Object>

3duebb1j  于 2022-11-01  发布在  React
关注(0)|答案(1)|浏览(153)

希望你们都在做。我是一个新手,我总是遇到不兼容类型的问题。

Flowable<Boolean> checkTriggerDaily() {

        List<Bson> fields = new ArrayList<Bson>();
        fields.add(exists("dueDate", true));
        Bson filter = and(fields);

        Flowable.fromPublisher(marketplaceMongoService.getCollection().find(filter)).map{ third ->
                    getTheReport(third.id).flatMap { size ->
                     TaskService.createTasks(size).toFlowable().flatMap({})
                    }
                }
    }

我在标题上不断得到同样的错误。这个函数的作用是循环遍历一个mongo集合,并在每一项中调用getTheReport。getTheReport返回的内容,我将其处理为createTasks函数。
getTheReport -〉返回可能创建的任务-〉返回可能

3zwtqj6y

3zwtqj6y1#

getTheReport(third.id).flatMap { size ->
    TaskService.createTasks(size).toFlowable().flatMap({})
}

result是Flowalbe,您应该调用flatMap而不是map,以便内部函数发出的对象被解压缩为 flat result:

Flowable<Boolean> checkTriggerDaily() {

    List<Bson> fields = new ArrayList<Bson>();
    fields.add(exists("dueDate", true));
    Bson filter = and (fields);

    Flowable.fromPublisher(marketplaceMongoService.getCollection().find(filter))
        .flatMap { third -> // flatMap instead of map
            getTheReport(third.id).flatMap { size ->
                TaskService.createTasks(size).toFlowable().flatMap({})
            }
        }
}

相关问题