轮询Javascript

时间:2018-08-22 11:45:24

标签: javascript timer promise setinterval polling

我正在尝试使用fetch函数对NodeJs Server进行轮询,但是setInterval方法实际上并未按预期工作(它只运行一次然后停止)。

window.onload = () => {
    let label = document.getElementById('button_badge');
    setInterval(getNotification(label), 3000);
};

function getNotification(label) {
    fetch('/getnotification')
        .then(value => {
            value.json()
                .then(value1 => {
                    console.log(value1);
                    label.innerHTML = value1.listWatchers.length;
                });
        })
        .catch(reason => {
            console.log(reason)
        });
}

应使用最终结果(在这种情况下为value1)设置跨度值(标签变量)

1 个答案:

答案 0 :(得分:1)

setInterval函数接受一个函数作为第一个参数。在您的代码中,您没有将函数作为参数传递,而是调用了函数。

将其更改为此:

setInterval(function(){
    getNotification(label)
}, 3000);