首页 > 解决方案 > 在返回结果之前等待 AsyncTask.execute(()) 完成

问题描述

我正在从本地读取数据Android RoomDB,我需要在后台进行,因为DBUI Thread. 所以我有这个方法:

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

有没有办法知道Async已经完成并只有在那时才返回结果?

标签: androidasynchronousandroid-asynctaskandroid-room

解决方案


您可以使用回调。我不确定你到底想做什么,但你可以,例如,在异步完成时做一个控制台日志。


推荐阅读