【问题标题】:How can i return global variable from ion?如何从 ion 返回全局变量?
【发布时间】:2019-11-06 00:08:41
【问题描述】:

我在从 ion 获取数据时遇到了一些问题。 我需要从函数中获取变量,我知道这个函数离子是与主流分开执行的。 我怎样才能得到这些数据?也许我需要等待功能没有完成,但我该怎么做呢?

final String someText;
    Ion.with(this)
           .load(URL)
            .asString()
            .setCallback(new FutureCallback<String>() {
                @Override
                public void onCompleted(Exception e, String result) {
                    someText = result.toString();
                    System.out.println(someText) // i get someText not empty
                }
            });
System.out.println(someText) // i get someText empty

【问题讨论】:

标签: java android android-ion


【解决方案1】:

Ion 是异步的,所以回调没有设置 someText。如果需要阻塞等待结果,可以调用 .get() 代替 setCallback。

final String someText = Ion.with(this)
       .load(URL)
        .asString()
        .get(); // THIS WILL BLOCK THE THREAD
System.out.println(someText) // i get someText not empty

我不建议这样做,因为那样你会阻塞调用线程,这可能是主线程。首选使用 setCallback。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-16
    • 2014-04-12
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2020-09-11
    • 2016-05-13
    • 1970-01-01
    相关资源
    最近更新 更多