我在服务器上使用带有express的Node JS。我试图使用Javascript每五分钟调用我的节点js脚本。我找不到办法在网上任何地方这样做..这甚至可能吗?或者使用我的Express服务器有更好的方法吗?
答案 0 :(得分:3)
如果您需要每五分钟为每个开放客户端运行代码,请从AJAX (HTTP) request回调中制作setInterval
:
// client-side JS
setInterval(function makeIntervalRequest() {
// `fetch` is a built-in HTTP request function.
// It's in recent browsers. You could use a library like jQuery's $.ajax
// or the built-in XMLHttpRequest for older browsers.
// "/ping" is the URL to request.
fetch("/ping");
}, 5 * 60 * 1000);
由于浏览器控制此代码,因此每个客户端都会运行一次。如果有6个用户打开了您的页面,那么您将在5分钟的时间内收到6个请求。
如果您需要每五分钟在服务器上运行一次,请在服务器代码中使用setInterval
:
// server-side JS
setInterval(function runScheduledAction() {
doTheScheduledAction();
}, 5 * 60 * 1000);