javascript - 不使用前端 Nodejs 的呼叫服务器端路由的最佳方式
问题描述
我在后端有一条路线,我想每隔 X 次调用一次。现在我正在使用 ajax 从客户端的设置间隔函数进行调用:
setInterval(function() {
$.ajax({
method: 'GET',
url: '/api'
})
.done(function() {})
.fail(function(err) {
console.log(err);
});
}, 60000);
我的路线:
router.get('/api', async (req, res) => {
console.log('api called')
});
问题在于,这仅在有人在浏览器中打开应用程序时才有效。在不依赖前端的情况下在后端进行此类调用的最佳方式是什么?
解决方案
您可以从服务器本身进行内部调用,而不是从客户端内部调用。它将遵循完全相同的逻辑(带有间隔),但代码将在后端:)
此外,如果您希望它更明确地定义,您可以使用类似node-cron 的东西:
cron.schedule('*/2 * * * *', () => {
console.log('running a task every two minutes');
});
推荐阅读
- javascript - 删除音频文件之间的时间
- r - 如何将 facet_grid 覆盖到 R 中的 gg_map 上(有可能做到这一点吗?)
- amazon-s3 - 我可以删除 Athena 在 S3 中创建的“createPartitionOutput”对象吗?
- java - Microprofile JWT web.xml 返回 200 而不是 401
- mysql - 如何在一个 mysql 查询中从一个表和另一个连接表的值数组中获取值?
- postgresql - 在 PostgreSQL 中创建内存表?
- javascript - 通常的文本替换在 javascript / js 中不起作用
- php - [ ] 之间的数字在爆炸后的 php 数组中是什么意思?
- python - Python记录器不输出到文件
- java - 在 java 泛型中与, ,混淆