我有一个对象用于在App Engine上使用Objectify进行临时数据存储。
当我保存我的实体时,如果它抛出一个ApiProxy.RequestTooLargeException
我清除了一些数据并重新保存。我想要异步执行此操作,但无法解决如何捕获和处理异步保存错误。
同步保存它工作正常,如下所示:
private void save() {
try {
ofy().save().entity(this).now();
} catch (ApiProxy.RequestTooLargeException e) {
clearOldData();
save();
}
}
如何使用异步保存执行类似的操作?
答案 0 :(得分:1)
调用now()
方法时只会出现异常。因此保存Result<?>
对象并在准备好后调用now()
。如果需要,可以使用过滤器和本地线程;这实际上是Objectify所做的。
如果您正在寻找回调式异步接口,它们就不存在了。他们不会比持有Result<?>
直到请求结束并自己完成它们更好。