我在Android项目中使用Bolts framework。我多次阅读这些文档,但我仍然对continueWith()和onSuccess()之间的区别感到困惑,因为回调方法和返回值都是一样的。例如,
Task task = ParseGeoPoint.getCurrentLocationInBackground(10*1000);
这两种方法的区别是什么?
task.onSuccess(new Continuation<ParseGeoPoint, Object>() {
@Override
public Object then(Task<ParseGeoPoint> task) throws Exception {
Log.d(TAG, "task done");
return null;
}
});
task.continueWith(new Continuation<ParseGeoPoint, Object>() {
@Override
public Object then(Task<ParseGeoPoint> task) throws Exception {
Log.d(TAG, "task done");
return null;
}
});
答案 0 :(得分:3)
基本上,onSuccess()
被调用,正如其名称所示,当调用完成且没有错误时。另一方面,即使在失败的情况下,也会始终调用continueWith()
。因此,如果您只对成功请求检索结果感兴趣,请使用onSuccess()
,如果您还希望能够处理失败的请求,请使用continueWith()
。