对反应式编程的见解

反应式编程是指触发式编程,依赖于现在java的函数式编程,利用反应式框架所定义好的概念,配置工作的流程,然后在定义的地方调用这些流程,也就是反应,触发,这就像我们本来是使用方法调用方法来表示流程,现在使用

userService.getFavorites(userId).timeout(Duration.ofMillis(800)).onErrorResume(cacheService.cachedFavoritesFor(userId)).flatMap(favoriteService::getDetails).switchIfEmpty(suggestionService.getSuggestions()).take(5).publishOn(UiUtils.uiThreadScheduler()) .subscribe(uiList::show, UiUtils::errorPopup);

表示流程,更有可读性,并且屏蔽了对线程创建的过程,比如publishOn,增加了对流程的控制,比如timeout,switchIfEmpty,和错误的处理,比如onErrorResume。

总结一下反应式编程提高了可读性,避免了线程创建等功能,提高了开发效率,提高了cpu利用率。

猜你喜欢

转载自blog.csdn.net/j4791/article/details/82718314