首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在可完成的将来成功后显示通知

在可完成的将来成功后显示通知
EN

Stack Overflow用户
提问于 2018-06-04 18:20:53
回答 1查看 200关注 0票数 2

我有一个名为showNotification的方法,它显示通知

代码语言:javascript
复制
public static void showNotification(UI ui, String notificationMessage) {
        Notification notification = new Notification(notificationMessage);
        notification.setStyleName("custom-notification");
        notification.show(ui.getPage());
}

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

代码语言:javascript
复制
@Override
public CompletableFuture<?> startProcessing() {
    return processorService.start();
}

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

代码语言:javascript
复制
event -> {
    controller.startProcessing()
        .thenAccept(aVoid -> UI.getCurrent().access(() -> {
                showNotification(getUI(), "Started processing");
            })
        ).handle((aVoid, throwable) -> {
               showNotification(getUI(), "Failed to start processing");
            return aVoid;
        });
}

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

有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 18:33:35

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50678342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档