通知nodejs

时间:2018-03-15 19:59:40

标签: node.js notifications

我在我的Web应用程序(nodejs)中使用通知,每当我刷新 我的页面/备注 时,我点击我的通知,在控制台中我有消息toto 。我的问题是:如果我刷新我的页面七次,在控制台我有七个消息toto。我怎样才能解决这个问题。

由于

代码:

router.get('/notes', passportConfig.isAuthenticated, function(req, res) {

notifier.notify(
    {
        title: 'My awesome title',
        message: 'Hello from node, Mr. User!',
        icon: path.join(__dirname, 'coulson.jpg'), 
        sound: true, 
        wait: true 
    },
    function(err, response) {
        // Response is response from notification
    }
);

notifier.on('click', function(notifierObject, options) {
    console.log("toto");
});   
});

1 个答案:

答案 0 :(得分:0)

notifier.on(...)是event listener。一旦被启用,它将一直处于活动状态,直到你删除事件监听器。

问题在于您的功能范围。 notifier.on()事件监听器应该只启动一次。 尝试从router.get()函数范围中拉出notifier.on()逻辑。 每次重新加载创建另一个事件监听器的页面时:)

notifier.on('click', function(notifierObject, options) {
    console.log("toto");
}); 

router.get('/notes', passportConfig.isAuthenticated, function(req, res) {

notifier.notify(
    {
        title: 'My awesome title',
        message: 'Hello from node, Mr. User!',
        icon: path.join(__dirname, 'coulson.jpg'), 
        sound: true, 
        wait: true 
    },
    function(err, response) {
        // Response is response from notification
    }
);  
});