如何同步执行异步任务Android Java

问题描述 投票:0回答:1

我有一些使用SDK连接到MQTT服务器的任务。因此任务结果将异步返回。

        service.doConnect(paramVar1,new IResultListener<Boolean>() {
            @Override
            public void success(Boolean response) {
                doSuccessConnect();
            }

            @Override
            public void failed(int statusCode, Exception exception) {
                doFailConnect();
            }
        };

        service.doFunction1(paramVar2,new IResultListener<Boolean>() {
            @Override
            public void success(Boolean response) {
                doSuccessFunction1();
            }

            @Override
            public void failed(int statusCode, Exception exception) {
                doFailFunction1();
            }
         };


        service.doFunction2(paramVar3,new IResultListener<Boolean>() {
            @Override
            public void success(Boolean response) {
                doSuccessFunction2();
            }

            @Override
            public void failed(int statusCode, Exception exception) {
                doFailFunction2();
            }
         };

我想按顺序执行任务。 service.doConnect※仅成功-> service.doFunction1※仅成功-> service.doFunction2并且不想将service.doFunction1放在doSuccessConnect()中。

有人可以告诉我在Android Java中执行此操作的方法。谢谢!

java android async-await
1个回答
0
投票

使用RxJava,您可以使用Singles包装API调用。如果只想发出成功(有结果)或错误,则使用Singles

© www.soinside.com 2019 - 2024. All rights reserved.