我想从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();
我想一次执行两个操作。
只需删除block()
并继续flatmap
您的发布者
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()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句