android - 在返回结果之前等待 AsyncTask.execute(()) 完成
问题描述
我正在从本地读取数据Android RoomDB
,我需要在后台进行,因为DB
在UI Thread
. 所以我有这个方法:
@Override
public DBBackedRouteModel getDBBackedRouteModelByID(Long id) {
AsyncTask.execute(() -> {
this.dbBackedRouteModel = routesParser.getDBBackedRouteModel(id);
});
return dbBackedRouteModel;
}
有没有办法知道Async
已经完成并只有在那时才返回结果?
解决方案
您可以使用回调。我不确定你到底想做什么,但你可以,例如,在异步完成时做一个控制台日志。
推荐阅读
- node.js - 升级和降级 node.js
- javascript - 支持 es5 中的解构赋值问题
- laravel - 如何在 /admin 下设置 laravel-websockets url 来保护它?
- objective-c - 如何将此 obj-c 代码转换为 swift(带有 NSDictionary 的 NSArray)
- javascript - 如何测试正则表达式以替换 textarea 或工作笔记中的 0x1B 字符(ASCII 转义字符)?
- java - 首次创建数据库时,休眠初始数据导入不起作用
- python - 如何获取 csv 列的名称以避免写入 "key1": row [1], "key2": row [2]
- angular - Angular 指令无法在浏览器中加载/不起作用
- c++ - 移动构造函数和移动赋值。基类中的运算符
- python - 在 Python 中使用 Confluent Kafka Consumer