我需要将一个项目列表映射到可观察的项目中,然后使用另一个函数处理每个可观察的项目flatmap,以将某个REST API调用的结果持久化到数据库中。
API调用将正确返回所有项。但是,FlatMapiteTable不会将所有项目传递给最后一个flatMap。
这是代码。
restApi.getContacts(user)
.flatMapIterable(new Func1<List<Contact>, List<Contact>>() {
@Override
public List<Contact> call(List<Contact> contacts) {
return contacts;
}
}
.flatMap(new Func1<Contact, Observable<Integer>>() {
@Override
public Observable<Integer> call(Contact Contact) {
return create(Contact);
}
})
我不想使用doOnEach或doOnNext,我的问题是关于FlatMapiteTable的行为。
知道为什么我不能到达最后一张平面图中的所有项目吗?
谢谢。
首先,为了便于检查,请尝试以下内容
而不是:
.flatMapIterable(new Func1<List<Contact>, List<Contact>>() {
@Override
public List<Contact> call(List<Contact> contacts) {
return contacts;
}
}
试试这个:
.flatMap(new Func1<List<Contact>, Observable<Contact>>() {
@Override
public Observable<Contact> call(List<Contact> contacts) {
return Observable.from(contacts);
}
})
如果没有帮助,请添加以下代码:
restApi.getContacts(user)
.doOnNext(new Action1<List<Contact>>() {
@Override
public void call(List<Contact> contacts) {
Log.i(LOG_TAG, "first doOnNext size: " + contacts.size());
}
})
.flatMapIterable(new Func1<List<Contact>, List<Contact>>() {
@Override
public List<Contact> call(List<Contact> contacts) {
Log.i(LOG_TAG, "flatMapIterable size: " + contacts.size());
return contacts;
}
})
.flatMap(new Func1<Contact, Observable<Integer>>() {
@Override
public Observable<Integer> call(Contact Contact) {
return create(Contact);
}
})
.toList()
.doOnNext(new Action1<List<Integer>>() {
@Override
public void call(List<Integer> integers) {
Log.i(LOG_TAG, "second doOnNext size: " + contacts.size());
}
})
并在这里打印Logcat输出。
主要内容:映射拦截动作,参考Struts 2的开发者用来声明行为属于一个包,扩展 “struts-default“, 其中包含默认设置的拦截。 拦截器的默认设置进行分组为“defaultStack”在struts-default.xml文件中,它位于 struts2-core.jar 文件,“defaultStack”提供所有的核心Struts2功能,这是最适合应用的需要。 试着学习struts-default.xml文件,
每次我认为我理解了可观测物,但我不太理解可观测物。所以考虑一下我在Angular 4应用程序中使用的代码: 我希望我对代码解释得足够好,所以它的本质是我不想在任何地方使用“订阅”。因为我使用异步管道,所以我希望可以一直观察到。但是,当我使用单(),然后我必须平面映射它,否则它给我一个错误,因为我不能返回可观察 如果我没有把我的问题说清楚,我很抱歉。我的场景是,我基本上需要一个配置设置,我的实际ht
Java 8流#findFirst()是一种短路终端操作。这意味着一旦找到元素(通常与filter()操作一起使用),它将停止生成流。 但是,我想知道它是否会在平面图创建的流上短路。即它会短路在平面图操作中创建的流。 换句话说,哪种代码更有效(在流中生成的元素更少): 示例1(使用平面图): 示例2(无平面图):
我一直在尝试使用XSLT从以下xml文件中获取元素“测试”的内容,但我真的被阻止了。 您知道如何使用XSLT获取它吗 XML文件内容如下所示:
我对webflux比较陌生,我想找到解决方案,在有条件时避免嵌套flatMap: 如何防止这种分支条件平面映射混乱?我无法想象如果我在项目中有另一个实体。会有更多嵌套的平面地图?
我正在使用Hibernate和JPA注释来映射我的类。当hibernate尝试映射这个类时,我遇到了一个问题 我的Social alStat类是: 我得到了这个错误: 我猜发生这种情况是因为我试图映射到一个基本类,但@ElementCollection注释不应该解决这个问题吗? 我的item类如下所示: