如何在并行线程中监听(而不是等待)结果完成

时间:2019-04-03 01:04:39

标签: java okhttp3

我的Android应用中有一个代码:

    homes=Get_HomeList(this, progressBar, view, mMap,MapsActivity.this);
    Log.v(TAG, "onMapReady: "+homes.size());

Get_HomeList 是使用异步okhhttp调用从后端获取数据的函数。

在此功能中,我有一个成功的方法,该方法是我可以访问刚刚提取的房屋清单的地方。

但是我需要此功能之外的房屋清单。但是这行

Log.v(TAG, "onMapReady: "+homes.size());

给我零用房屋;我猜这是因为它正在并行线程中运行,但尚未看到原始结果。

现在我的问题是,如何处理此问题并能够在 Get_HomList 函数之外看到提取的数据?在此函数中,它看起来像这样:

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if (response.isSuccessful()) {
                    try {
                        String responsedata = response.body().string();
                         homes= extractHomesUpdateMap(responsedata,mMap,mapsActivity);

                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                } else {

             }

是否有一种方法,当加载成功并完成 时,我可以将结果传递到 Get_HomeList 之外?或者一般而言,我们如何处理这种情况?

0 个答案:

没有答案