http://www.jianshu.com/p/2d32f9db0e50
下面的这个项目就使用了zip转换操作。
https://github.com/gzsll/TLint/
@Provides @PerActivity Observable<Integer> provideNotificationObservable(GameApi mGameApi,
ForumApi mForumApi) {
return Observable.zip(mGameApi.queryPmList(""), mForumApi.getMessageList("", 1),
new Func2<PmData, MessageData, Integer>() {
@Override public Integer call(PmData pmData, MessageData messageData) {
int size = 0;
if (pmData != null) {
if (pmData.is_login == 0) {
return null;
}
for (Pm pm : pmData.result.data) {
if (!TextUtils.isEmpty(pm.unread) && pm.unread.equals("1")) {
size++;
}
}
}
if (messageData != null && messageData.status == 200) {
size += messageData.result.list.size();
}
return size;
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
}