等待AsyncTask.execute(())在返回结果之前完成

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

我正在从本地Android RoomDB读取数据,并且我需要在后台进行处理,因为不允许在DB上从UI Thread进行良好读取。所以我有这种方法:

@Override
public DBBackedRouteModel getDBBackedRouteModelByID(Long id) {
    AsyncTask.execute(() -> {
        this.dbBackedRouteModel = routesParser.getDBBackedRouteModel(id);
    });
    return dbBackedRouteModel;
}

是否有办法知道Async已经完成并仅返回结果?

android asynchronous android-asynctask android-room
1个回答
0
投票

您可以使用callbacks。我不确定您要确切执行的操作,但是例如可以在异步完成后执行控制台日志。

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