小编Kar*_*k H的帖子

Android + RxJava + For 循环 + 不执行所有请求

方法的调用者,

 for (String name : controllerToPartitionModels.keySet())
    {
        List<PartitionModel> partitionsList = controllerToPartitionModels.get(name);
        refreshPartition(partitionsList,false);
    }
Run Code Online (Sandbox Code Playgroud)

方法

 private void refreshPartition(List<PartitionModel> partitionModels, boolean isSyncAll) {
    ITModule.getITService()
            .refreshPartitionStatus(new ArrayList<>(partitionModels), isSyncAll)
            .subscribeOn(Schedulers.io())
            .observeOn(Schedulers.io())
            .subscribe(new Action() {
                @Override
                public void run() throws Exception {
                    Logger.get().d(ATTActionManager.this, "Refreshing request sent successfully for list of size : " + partitionModels.size());
                }
            }, (@NonNull Throwable throwable) -> {
                Logger.get().d(ATTActionManager.this, "Error on Refresh request");
            });
}
Run Code Online (Sandbox Code Playgroud)

问题 如果必须发送 2 个请求,有时我只会看到一个请求被发送。意思是,即使 for 循环为 2 个请求(HTTP)执行了两次,我看到只有一个请求被发送到服务器。我在这里做错了什么?正在使用的 Rxjava 版本:2.2.19

java performance android rx-java

5
推荐指数
1
解决办法
173
查看次数

标签 统计

android ×1

java ×1

performance ×1

rx-java ×1