美文网首页
异步回调

异步回调

作者: arkliu | 来源:发表于2022-12-18 07:59 被阅读0次

异步回调,无返回值

// 异步回调,无返回值
CompletableFuture<Void> future = new CompletableFuture<>().runAsync(()->{
    try {
        TimeUnit.SECONDS.sleep(3);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+"runAsync");
});
try {
    future.get(); //阻塞等待任务执行完成
} catch (InterruptedException | ExecutionException e) {
    e.printStackTrace();
}

异步回调有返回值

CompletableFuture<Integer> future = new CompletableFuture<Integer>().supplyAsync(()->{
            System.out.println(Thread.currentThread().getName()+"supplyAsync");
            int t = 5 / 0;
            return 100;
        });
        
        System.out.println("syso:"+future.whenComplete((t,u)->{
            System.out.println("t = "+t); // 返回的结果,失败为null
            System.out.println("u = "+u); // 错误信息
        }).exceptionally(new Function<Throwable, Integer>() {

            @Override
            public Integer apply(Throwable t) {
                return -1;
            }
        }).get());
image.png

相关文章

  • 异步的实现

    异步的三种实现方式: 回调函数事件Promise 回调函数 回调函数不一定是异步 但是异步一定是回调函数。 事件 ...

  • 同步、异步

    同步:等待结果异步:不等待结果 注意,异步常常伴随回调一起出现,但是异步不是回调,回调也不一定是异步。 【时序图】...

  • 异步和回调

    异步 异步就是「不等结果」,直接进行下一步怎么拿到结果回调可以拿到结果 回调 「回调是一种拿异步结果的方式」「回调...

  • 你不知道的JS(中卷)第七章

    第七章 回调 回调是js异步的基本单元。随着js越来越成熟,对于异步编程的发展,回调已经不够用了。回调表达异步流的...

  • Dart 语法

    回调 dart定义回调 dart使用回调 延时 异步

  • nodeJS回调函数

    NodeJS异步编程的直接体现就是回调函数。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函...

  • Node.js 回调函数

    Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调...

  • 14.回调地狱与 Promise

    回调地狱 为了保证异步代码的执行顺序,将异步代码嵌套到回调函数中,当异步的方法多了,就会产生回调地狱(callba...

  • 异步处理:回调函数与promise

    前置知识回调可以是同步也可以是异步,异步必须放在回调里执行,也就是对于一个异步任务只有回调函数里的才是异步的,比如...

  • Node.js - 回调函数

    Node.js 异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函...

网友评论

      本文标题:异步回调

      本文链接:https://www.haomeiwen.com/subject/rdnsxdtx.html