首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在RxJava中获得多个响应?

如何在RxJava中获得多个响应?
EN

Stack Overflow用户
提问于 2018-09-21 04:03:01
回答 2查看 47关注 0票数 1

我有下面的代码,我想知道如何能够获得除设置的Boolean值之外的其他响应:

代码语言:javascript
复制
public Single<Boolean> uploadFile(String entityType, String entityId, String blobName){
    return Single.create(e -> {
        uploadElement = DOM.createElement("input");
        uploadElement.setAttribute("type", "file");
        uploadElement.setAttribute("accept", "*/*");;
        Event.sinkEvents(uploadElement, Event.ONCHANGE);
        Event.setEventListener(uploadElement, event -> {
            final FileObject fileObject = (FileObject) getFile(event);
            log("Name=" + fileObject.getName());
            log("Type=" + fileObject.getType());
            log("Size=" + fileObject.getSize() + "");
            readAsDataURL((FileObject) fileObject, new FileReaderCallback() {
                @Override
                public void onLoad(String data) {
                        Entity entity = new Entity(entityType);
                        entity.setEntityId(entityId);
                        entity.setBlobProperty(blobName, data).subscribe(isSuccess -> {
                            e.onSuccess(isSuccess);
                        }, error -> {
                            e.onError(error);
                        });
                }
            });
        });
        click();
    });
}

我需要能够在这个过程中获得FileObject,我如何在RxJava中做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2018-09-21 13:10:45

看一下zip操作符。这是您的结果加上您放入zip运算符的内容的元组。你可能需要稍微调整一下你的程序结构。

票数 1
EN

Stack Overflow用户

发布于 2018-09-21 04:43:19

您可以返回一个Single<MyCustomResult>,而不是Single<Boolean>,其中MyCustomResult有一个boolean字段和一个FileObject字段。

而不是e.onSuccess(isSuccess),你可以写:

代码语言:javascript
复制
e.onSuccess(new MyCustomResult(isSuccess, fileObject));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52432499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档