gpt4 book ai didi

java - 在可完成的 future 成功后显示通知

转载 作者:行者123 更新时间:2023-11-30 07:46:21 24 4
gpt4 key购买 nike

我有一个名为 showNotification 的方法可以显示通知

public static void showNotification(UI ui, String notificationMessage) {
Notification notification = new Notification(notificationMessage);
notification.setStyleName("custom-notification");
notification.show(ui.getPage());
}

我有一个返回 CompletableFuture 的服务。在我的 Controller 中我创建了方法

@Override
public CompletableFuture<?> startProcessing() {
return processorService.start();
}

如果 start 成功,我想在单击按钮时显示通知。我的 buttonClick 事件如下所示

event -> {
controller.startProcessing()
.thenAccept(aVoid -> UI.getCurrent().access(() -> {
showNotification(getUI(), "Started processing");
})
).handle((aVoid, throwable) -> {
showNotification(getUI(), "Failed to start processing");
return aVoid;
});
}

问题是,直到我调用另一个事件——例如点击另一个按钮——它才显示通知。

问题是什么?

最佳答案

您需要将@Push 添加到您的UI 子类中,以使浏览器打开与服务器的双向连接。否则,只有浏览器可以发起通信,并且只有在有一些新事件要发送到服务器时才会这样做。

关于java - 在可完成的 future 成功后显示通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50678342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com