我想从Mono中提取对象,然后使用该对象进行其他数据库操作,如何在不使用block()的情况下做到这一点?
像下面这样
Mono<TemplateBo> templateBoMono =
templateRepository.findActiveTemplate(tenantId);
TemplateBo templateBo=
templateBoMono.flatMap(bo -> {
bo.setStatus(TemplateStatusEnum.DEACTIVATED);
return Mono.just(bo);
}).flatMap(templateRepository::updateTemplate).block();
templateVersionRepository.findPublishedByTemplateId(templateBo.getId()).flatMap(version -> {
version.setStatus(TemplateVersionStatusEnum.MODIFIED);
return Mono.just(version);
}).flatMap(templateVersionRepository::updateVersion).subscribe();
我想同时执行这两个操作。
只需删除块()
并继续平面图
您的发布者
templateRepository.findActiveTemplate(tenantId)
.flatMap(bo -> {
bo.setStatus(TemplateStatusEnum.DEACTIVATED);
return Mono.just(bo);
})
.flatMap(templateRepository::updateTemplate)
.flatMap(templateBo -> templateVersionRepository.findPublishedByTemplateId(templateBo.getId())
.flatMap(version -> {
version.setStatus(TemplateVersionStatusEnum.MODIFIED);
return Mono.just(version);
})
.flatMap(templateVersionRepository::updateVersion))
.subscribe()