0
点赞
收藏
分享

微信扫一扫

java实现异步回调返回给前端

要在Java中实现异步回调并返回给前端,可以使用CompletableFuture类。以下是一个简单的示例:

  1. 首先,创建一个接口作为回调函数:
public interface Callback {
    void onSuccess(String result);
    void onFailure(Exception e);
}
  1. 然后,创建一个方法来执行异步操作,并在操作完成后调用回调函数:
import java.util.concurrent.CompletableFuture;

public class AsyncDemo {
    public static void main(String[] args) {
        AsyncDemo demo = new AsyncDemo();
        demo.asyncOperation("Hello, World!", new Callback() {
            @Override
            public void onSuccess(String result) {
                System.out.println("成功:" + result);
            }

            @Override
            public void onFailure(Exception e) {
                System.out.println("失败:" + e.getMessage());
            }
        });
    }

    public void asyncOperation(String input, Callback callback) {
        CompletableFuture.supplyAsync(() -> {
            try {
                // 模拟耗时操作
                Thread.sleep(1000);
                return input.toUpperCase();
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }).thenAccept(result -> {
            callback.onSuccess(result);
        }).exceptionally(e -> {
            callback.onFailure(e);
            return null;
        });
    }
}

在这个示例中,我们创建了一个名为AsyncDemo的类,其中包含一个名为asyncOperation的方法。这个方法接受一个字符串和一个回调函数作为参数。我们使用CompletableFuture.supplyAsync来执行异步操作,并在操作完成后调用回调函数的onSuccessonFailure方法。

举报

相关推荐

0 条评论