gpt4 book ai didi

javascript - 使用 setInterval 和 JavaScript

转载 作者:行者123 更新时间:2023-11-30 10:01:52 26 4
gpt4 key购买 nike

我正在使用 Notification API,但我无法使其与 SetInterval() 一起使用,有人可以指出我做错了什么吗?只要我点击事件,通知只显示一次。这是我的代码:

document.addEventListener('DOMContentLoaded', function() {
document.getElementById('notifyBtn').addEventListener('click', function() {

if (!('Notification' in window)) {
alert('Web Notification is not supported');
return;
} else {
setInterval(Notification.requestPermission(function(permission) {
var notification = new Notification("Hi there!", {
body: 'I am here to talk about HTML5 Web Notification API',
icon: 'icon.png',
dir: 'auto'
});
setTimeout(function() {
notification.close();
}, 2000);
}),5000);

}
;
});
});

我真的卡在这里了,请停下来。

最佳答案

您需要将有效的回调传递给 setInterval()。相反,您正在传递某种方法的结果。试试这个:

setInterval(function () {
Notification.requestPermission(function(permission) {
var notification = new Notification("Hi there!", {
body: 'I am here to talk about HTML5 Web Notification API',
icon: 'icon.png',
dir: 'auto'
});
setTimeout(notification.close, 2000);
})}, 5000);

奖励:看看我是如何简化您的 setTimeout 回调的,只需传递 notification.close 方法本身,而不是在匿名函数中调用它。干净多了。

关于javascript - 使用 setInterval 和 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31164029/

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