RxJava中的顺序多个api调用,Retrofit - 顺序混乱

时间:2017-05-01 06:40:41

标签: android retrofit rx-java

我有一个数据列表,它再次包含2个字符串URL,它还应该对获取结果进行2次api调用并将这些数据添加到主列表中,然后显示在listview中。

在这里,我可以获得具有正确数据的列表,但订单不匹配。这就像第一个完成的结果被添加到我的ArrayList或其他东西。请帮忙 。

以下是我的代码:

void handleOrdersResponse(@NonNull List<OrderRowViewModel> response) {
    for (int i = 0; i < response.size(); i++) {
        String fulfillmentUrl = response.get(i).mFulFillmentMethodUrl.get();
        String paymentUrl = response.get(i).mPaymentMethodUrl.get();
        OrderRowViewModel response1 = response.get(i);
        subscribe(Observable.zip(getFulFillment(fulfillmentUrl), getPayment(paymentUrl), Pair::new)
                .compose(ObservableTransformers.getInstance().networkOperation())
                .doOnSubscribe(() -> {

                })

                .subscribe(pair -> {
                            response1.setOrderFulFilemntname(pair.first.state(), pair.first.state());
                            response1.setPaymnetType(response1.mPaymentTitle.get(), pair.second.methodData().methodName());
                            mModels.add(response1);

                            mFilteredConversations.add(response1);

                            if (mFilteredConversations.size() == response.size() && mModels.size() == response.size()) {
                                mAdapter.refresh();
                            }
                        },
                        throwable -> mEventBus.post(new BaseActivity.ShowSnackbarEvent(R.string.failure_updating_store))));
    }
}

0 个答案:

没有答案