webflux 是不是很容易写出回调地狱啊
话说原本很简单的一个场景,查询 User 和 UserInfo 的信息,然后复制给 OperInfo
webflux 写出来总感觉怪怪的
// mvc
User user = userRepository.findById(xxx);
UserInfo userInfo = userInfoRepository.findById(xxx);
OperInfo operInfo = new OperInfo();
BeanUtils.copyProperties(user, operInfo);
BeanUtils.copyProperties(userInfo, operInfo);
return operInfo;
我 webflux 写成了下面,不知道应该怎么写才是最佳实践
// webflux
Mono<User> user = userRepository.findById(xxx);
Mono<UserInfo> userInfo = userInfoRepository.findById(xxx);
return Mono.zip(user, userInfo).flatmap(data -> {
User user = data.getT1();
UserInfo userInfo = data.getT2();
OperInfo operInfo = new OperInfo();
BeanUtils.copyProperties(user, operInfo);
BeanUtils.copyProperties(userInfo, operInfo);
return operInfo;
})
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.