2

有谁知道如何执行以下操作:必须解析元素的内容,并且必须通过并行查询对子元素进行分组只有在先前完成组查询时才应该前进到列表中的下一个项目

Element element = new Element(); 
element1.get(0) = urlA
element1.get(1) = urlB
element1.get(2) = urlC

List<Element> list = new ArrayList();
list.get(0); //consult in parallel  [urlA, urlB, urlC]

//You must wait for the previous query to finish
list.get(1); //consult in parallel  [urlX, urlY, urlZ] 

我目前使用 rxjava-3.0.3

4

1 回答 1

2

您可以尝试使用concatMap concatMap 大理石图运算符

所以代码可能看起来像这样

Flowable.fromIterable(list)
.concatMap(element -> Flowable.just(0, 1, 2)
  .map(index -> element.get(index))
  .observeOn(Schedulers.computation())
  .flatMap(url -> doParsingInParallel(url)))
.doOnNext(parsingResult -> handleParsingResult(parsingResult));
于 2020-05-22T12:01:06.463 回答