我是RxJava的新手,但我正在将它集成到一个项目中,我正在努力帮助我学习它.我遇到了一个关于最佳实践的问题.
我有一个关于如何onError防止停止Observable处理的问题.
这是设置:
我有一个userIds列表,我想做两个或更多的网络请求.如果任何网络请求对用户标识失败,则该用户标识将不会被更新并且可以被跳过.这不应该阻止处理其他用户标识.我确实有一个解决方案,但它涉及嵌套订阅(请参阅第二个代码块).我看到的一个问题是,如果每次呼叫失败,即使在检测到某个阈值数量失败后,也无法短路并阻止其余部分点击网络资源.
有一个更好的方法吗?
在传统的代码中:
List<String> results = new ArrayList<String>();
for (String userId : userIds) {
try {
String info = getInfo(userId); // can throw an GetInfoException
String otherInfo = getOtherInfo(userId); // can throw an GetOtherInfoException
results.add(info + ", " + otherInfo);
} catch (GetInfoException e) {
log.error(e);
} catch (GetOtherInfoException e) {
log.error(e);
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
伪代码:
userid -> network requests -> result
1 -> a, b -> onNext(1[a ,b])
2 -> a, onError …Run Code Online (Sandbox Code Playgroud) 有没有办法在创建pod后获取有关Kubernetes发生的事情的日志信息.该kubectl get pods只提供一个基本的状态信息.在下载大图像的情况下,这可能花费时间并且该kubectl log命令此时不提供任何真实信息.此命令似乎仅在容器运行时提供信息.
有没有办法获取有关Kubernetes pod当前状态的更多日志信息.docker pull直接调用提供下载状态信息,但这在Kubernetes中并不明显.
当尝试构建包含可更新的应用程序LineChart或AreaChart我认识到奇怪的行为时 - 可能是由于应用程序逻辑中的错误?
目标是在单击“生成”按钮时将数据填充到图表中或更新图表。用户必须输入图表的开始时间和结束时间,此外还必须选择间隔小时/天/周(通过使用 )RadioGroup。
初始图表的创建工作没有任何问题。重新生成图表也可以正常工作,但前提是以前的图表中不存在数据点。如果两个图表(旧图表和更新图表)中都包含具有相同 x 值的数据点,则不再按升序排序。
例子:
执行开始日期:01.09.2013 结束日期:25.09.2013 间隔:周
x 轴上的值:
2013年9月1日 / 2013年9月08日 / 2013年9月15日 / 2013年9月22日
单击“天”RadioButton重新生成图表会在 x 轴上生成以下值:
2013年9月1日 / 2013年9月8日 / 2013年9月15日 / 2013年9月22日 / 2013年9月2日 / 2013年9月03日 / 2013年9月04日 / ...
(值应为 01.09.2013 / 02.09.2013 / 03.09.2013 / ...)
已在第一个图表中显示且也在第二个图表中显示的所有值均在新图表的开头排序(而不是按升序排列)
这是实现这一技巧的代码(方法代码initializeTimeline仅用于测试目的(肯定有点可优化;))):
public class ChartDesignController implements Initializable {
@FXML
private AreaChart chartOne;
@FXML
private TextField startDate;
@FXML
private TextField endDate;
@FXML
private RadioButton …Run Code Online (Sandbox Code Playgroud) 我想用一个音频文件发送到服务器retrofit2.我按照本教程,但文件不是服务器接受的格式.根据本教程,我尝试了以下内容:
RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part audio = MultipartBody.Part.createFormData("file", "file", requestBody);
Run Code Online (Sandbox Code Playgroud)
和界面:
@Headers("Content-Type: application/json")
@Multipart
@POST("app/")
Call<JResponse> upload(@Part("file") RequestBody file);
Run Code Online (Sandbox Code Playgroud)
但是,该file:属性未发送.(如果我改变@Part与@Body它的存在,但随后还有另一个问题)
我想知道如何以下列格式发送文件?我应该将音频文件转换为base64格式吗?
{ 'file' : audio_file }
Run Code Online (Sandbox Code Playgroud)