我在我的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");
});
});
答案 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
}
);
});