请写出一段java体现异步回调函数作用的代码
时间: 2024-06-10 17:08:54 浏览: 169
当然,我可以为您提供一段Java代码,以展示异步回调函数的作用:
```java
public interface Callback {
void onSuccess(String result);
void onFailure(Exception e);
}
public class AsyncOperation {
public void performAsyncOperation(Callback callback) {
//执行异步操作,比如网络请求或者耗时的计算
try {
Thread.sleep(5000); //模拟5秒的计算
callback.onSuccess("计算结果"); //异步操作完成后,调用回调函数
} catch (InterruptedException e) {
callback.onFailure(e); //如果异步操作出错,调用回调函数
}
}
}
public class Main {
public static void main(String[] args) {
AsyncOperation asyncOp = new AsyncOperation();
asyncOp.performAsyncOperation(new Callback() {
@Override
public void onSuccess(String result) {
System.out.println("异步操作成功,结果为:" + result);
}
@Override
public void onFailure(Exception e) {
System.out.println("异步操作失败,异常信息为:" + e.getMessage());
}
});
System.out.println("异步操作进行中,请稍等...");
}
}
```
在这段代码中,我们定义了一个异步操作类AsyncOperation,它接受一个回调函数Callback作为参数。在performAsyncOperation方法中,我们模拟了一个计算操作,它会在5秒后完成,并调用回调函数的onSuccess方法返回计算结果。
在主函数中,我们创建了AsyncOperation的实例,并通过匿名内部类实现了Callback接口的两个方法。这样,当异步操作完成后,就会自动调用我们实现的回调函数,输出计算结果。
需要注意的是,在主函数中,我们并没有等待异步操作完成,而是直接输出了一个提示信息。这就是异步回调函数的作用:让程序可以在执行耗时操作的同时,继续执行其他任务,从而提高程序的效率和响应速度。
阅读全文