如何在 Js 中重置 setInterval()?
How to reset the setInterval() in Js?
我需要在服务器 运行ning 时实时更新 ('http://localhost:3000/users')。
我在给定的 setInterval 中有一个函数 fetchSlots() 运行ning。
如果在数据库中添加或删除了任何用户(即在 ('http://localhost:3000/users') 中)。我需要获取新添加的项目并在 fetchSlots() 中使用它。就像我 运行 服务器下面的代码,它每隔 30000ms.If 获取详细信息我将一个用户添加到数据库,在下一个时间间隔内,不会获取新添加的用户详细信息。类似的,如果我在服务器 [=] 时从数据库中删除一个用户=19=]ning,在下一个删除用户详细信息的时间间隔中,也是 fetched.Should 我必须每 30000 毫秒重置一次时间间隔,否则我该如何解决这个问题。
任何帮助!
async function polling() {
await axios.get('http://localhost:3000/users').then(async response => {
for (let l = 0; l < response.data.length; l++) {
slotFound = false;
const apiCall = setInterval(async () => {
await fetchSlots(response.data[l].pincode, response.data[l].emailid);
}, 30000);
}
});
}
这里为什么不用函数?
function bla(t, p) {
setInterval(async () => {
console.log(p)
}, t);
}
bla(3000, "30000")
bla(4000, "40000")
回答你的标题问题:“如何在 Js 中重置 setInterval()?”
您可以通过使用 setInterval 返回的内容调用 clearInterval 来停止间隔。
clearInterval(apiCall);
但是按照您在描述中所说的去做,我觉得这样会更直接。
async function polling() {
const response = await axios.get('http://localhost:3000/users');
for (let data of response.data) {
slotFound = false;
await fetchSlots(data.pincode, data.emailid);
}
}
setInterval(polling, 30000);
我需要在服务器 运行ning 时实时更新 ('http://localhost:3000/users')。 我在给定的 setInterval 中有一个函数 fetchSlots() 运行ning。 如果在数据库中添加或删除了任何用户(即在 ('http://localhost:3000/users') 中)。我需要获取新添加的项目并在 fetchSlots() 中使用它。就像我 运行 服务器下面的代码,它每隔 30000ms.If 获取详细信息我将一个用户添加到数据库,在下一个时间间隔内,不会获取新添加的用户详细信息。类似的,如果我在服务器 [=] 时从数据库中删除一个用户=19=]ning,在下一个删除用户详细信息的时间间隔中,也是 fetched.Should 我必须每 30000 毫秒重置一次时间间隔,否则我该如何解决这个问题。
任何帮助!
async function polling() {
await axios.get('http://localhost:3000/users').then(async response => {
for (let l = 0; l < response.data.length; l++) {
slotFound = false;
const apiCall = setInterval(async () => {
await fetchSlots(response.data[l].pincode, response.data[l].emailid);
}, 30000);
}
});
}
这里为什么不用函数?
function bla(t, p) {
setInterval(async () => {
console.log(p)
}, t);
}
bla(3000, "30000")
bla(4000, "40000")
回答你的标题问题:“如何在 Js 中重置 setInterval()?” 您可以通过使用 setInterval 返回的内容调用 clearInterval 来停止间隔。
clearInterval(apiCall);
但是按照您在描述中所说的去做,我觉得这样会更直接。
async function polling() {
const response = await axios.get('http://localhost:3000/users');
for (let data of response.data) {
slotFound = false;
await fetchSlots(data.pincode, data.emailid);
}
}
setInterval(polling, 30000);