我有endpoint,它可以返回同步和异步结果
@POST
@Path("/create-account")
public CompletionStage<Response> createAccount(...) {
if (preconditions) {
return myAsyncFunction(...);
}
else {
// how to return error immediately???
return Response.status(Response.Status.BAD_REQUEST).build(); // incorrect return type
}
}
如何刻意返回某物,即同步?
CompletionStage是一个可能是异步计算的阶段,它在另一个CompletionStage完成时执行一个操作或计算一个值。所以它可以是同步操作的结果。
您可以创建并返回一个完成的completablefuture
,它使用completablefuture.completedfuture静态方法实现CompletionStage。
return CompletableFuture<Response>.completedFuture(Response.status(Response.Status.BAD_REQUEST).build())
返回的结果将已经完成并提供了响应。
我正在尝试创建一个回调函数: 首先,我创建了一个函数接口,用于定义回调函数的约定 我创建了一个类,该类将定义一个方法来调用我的回调(我通过使用lambda表达式传递了接口的实现作为对此方法的引用) 下面是我的代码: 但当我运行这段代码时,我得到了这样的结果。 有人能告诉我为什么我会有这个例外吗?
问题内容: 如何从异步函数返回值?我试图喜欢这个 它给了我, 问题答案: 您不能超出范围。为了获得预期的结果,您应该将其包装到异步IIFE中,即 样品。 有关更多信息 由于返回一个Promise,因此可以将其省略,如下所示: 然后像以前一样做
问题内容: 同步和异步AJAX调用有什么区别?何时使用同步以及何时异步? 问题答案: 在最基本的级别上,当您希望调用在后台发生时,您可以使用异步模式,而当您希望代码等待直到调用完成时,则可以使用同步模式。 异步模式是AJAX调用的常用方法,因为通常在事件上附加一个回调函数,以便您可以在服务器端数据就绪时进行响应,而不必等待数据到达。
问题内容: 如何从异步函数返回值?我试图喜欢这个 它给了我, 问题答案: 您不能超出范围。为了获得预期的结果,您应该将其包装到异步IIFE中,即 样品。 有关更多信息 由于返回一个Promise,因此可以将其省略,如下所示: 然后像以前一样做
本文向大家介绍如何解决异步回调地狱?相关面试题,主要包含被问及如何解决异步回调地狱?时的应答技巧和注意事项,需要的朋友参考一下 参考回答:
我正在使用带有节点的数据库。js。以下请求可以正常工作: 我想异步返回多个的结果,但以下操作失败: 然后我必须在每个元素上调用,所以在调用函数时: 然而我得到: 还有点奇怪: 我怀疑我遗漏了的工作方式,那么如何返回多个结果的已实现结果呢?