如果源Maybe为空,我使用MaybeswitchIfEmpty方法提供替代结果。但是,我希望仅在源为空时才执行备用源,而在源不为空时不执行它。在下面的示例中,如果源返回非空Maybe,我想避免执行coSTLyFallback。当前的实现总是调用它,因为它需要传递给switchIfEmpty方法。Maybe.fromCallable看起来很有前途,但它只适用于不返回Maybe.empty的可调用对象。任何提示表示赞赏。如果switchIfEmpty接受一些延迟评估的Maybe提供商,那就太好了。publicclassStartRxMaybe{publicstaticvoidmain(S
我有两个方法。主要方法:@PostMapping("/login")publicMono>loginUser(@RequestBodyfinalLoginUserloginUser){returnsocialService.verifyAccount(loginUser).flatMap(socialAccountIsValid->{if(socialAccountIsValid){returnthis.userService.getUserByEmail(loginUser.getEmail()).switchIfEmpty(insertUser(loginUser)).flatMa
这里的逻辑是,如果数据库中的评级为空,那么我想从API中获取它们。我有以下代码:Observable.from(settingsRatingRepository.getRatingsFromDB()).toList().switchIfEmpty(settingsRatingRepository.getSettingsRatingModulesFromAPI()).compose(schedulerProvider.getSchedulers()).subscribe(ratingsList->{view.loadRatingLevels(ratingsList,hideLocks);