怎么免费自己做网站,把网站内的文本保存到txt怎么做,有几家公司如何建设网站,邢台网站制作哪里做编写异步代码很困难。 试图了解异步代码应该做什么的难度更大。 承诺是尝试描述延迟执行流程的一种常见方式#xff1a;首先做一件事#xff0c;然后再做另一件事#xff0c;以防万一出错再做其他事情。 在许多语言中#xff0c;承诺已成为协调异步行为的事实上的方法。 J… 编写异步代码很困难。 试图了解异步代码应该做什么的难度更大。 承诺是尝试描述延迟执行流程的一种常见方式首先做一件事然后再做另一件事以防万一出错再做其他事情。 在许多语言中承诺已成为协调异步行为的事实上的方法。 Java 8终于有了该程序并引入了CompletableFuture 尽管很认真但谁设计了API 一团糟 许诺的麻烦在于控制流程可能变得非常简单。 随着控制流程变得越来越复杂几乎变得难以理解执行此操作然后除非是星期三否则请执行此操作如果有错误请返回三个空格yada yada yada。 很酷的孩子们已经开始使用异步…等待。 C拥有它。 JavaScript有它。 现在……现在通过EA的一些大才能Java拥有了它 是的Java具有可用的async ... await构造而无需更改语言 一个简单的例子我们可以使用CompletableFuture编写几个异步操作如下所示 private static void theOldWay() {doAThing().thenCompose(Main::doAnotherThing).thenAccept(Main::reportSuccess).exceptionally(Main::reportFailure);
} 这应该很简单通常使用期货代码与这个简单代码相去甚远。 但是借助EA异步等待的魔力我们可以像这样重新编写它 private static CompletableFutureVoid theNewWay() {try {String intermediate await(doAThing());String result await(doAnotherThing(intermediate));reportSuccess(result);} catch (Throwable t) {reportFailure(t);}return completedFuture(null);
} 它看起来像同步代码。 但是对Async.await的调用是神奇的。 这些调用被重新编写在运行时或构建时如您所愿以使调用无阻塞 该代码更易于编写易于阅读易于调试一百万倍最重要的是它可以自然扩展。 随着代码变得越来越复杂您可以使用常规的重构工具来控制它。 使用CompletableFutures您最终会绕过所有这些将来的对象并且在某个地方有一天您会错过代码路径和繁荣 生产中的一个免费错误。 因此即使您坚持使用Java您仍然可以像酷孩子一样使用async…await 翻译自: https://www.javacodegeeks.com/2018/02/async-await-java.html