多年来,采用setInterval 进行条件轮询确实很有用。 无论是在客户端还是服务器端进行轮询,对特定条件的反应都有助于改善用户体验。 我最近需要完成的一项任务要求我的setInterval 立即执行,然后继续执行。
在setInterval 的开头立即调用一个函数,传统的、最好的方法是在调用初始setInterval`之前实际调用该函数。
myFunction();
setInterval(myFunction, 1000); // Every second
如果你真的想把函数调用隔离到setInterval ,你可以使用这种返回自身的自执行函数的技巧。
// Use a named function ...
setInterval(function myFunction() {
// Do some stuff
// ...
// ... then return this function
return myFunction;
// () self-executes the function
}(), 3000)
这种模式的缺点是会引起维护问题,即下一个开发者不明白发生了什么。
维护是成为一名优秀工程师的重要部分,所以至少应该要求以注释或辅助函数的形式提供文档。 如果你真的想拥有一个自动执行的setInterval ,你已经得到了它!