我想在 10 分钟内控制台记录“hi”,但仅限一次。我怎样才能用node-cron实现这个目标?
尝试使用其他一些但他们未能完成这项工作。
node-cron
支持传递 Date
对象以在特定日期和时间触发事件。来自node-cron
的README.md
:
此外,该库超越了基本的 cron 语法,并允许您提供 Date 对象。这将用作您回调的触发器。
API
[...]
CronJob
constructor(cronTime, onTick, onComplete, start, timezone, context, runOnInit, utcOffset, unrefTimeout)
- [必需] - 解雇你的工作的时间。这可以是 cron 语法或 JS Date 对象的形式。cronTime
[...]
简而言之,创建一个
Date()
对象,表示执行后 10 分钟的时间:
var cron = require('node-cron');
const date = new Date().setMinutes(new Date().getMinutes() + 10); // h/t https://stackoverflow.com/questions/4517672/how-to-add-20-minutes-to-a-current-date
cron.schedule(date, () => console.log("hi"));
我认为你错过了工作和日程安排之间的区别。
我为 node-cron 创建了一个视频来了解它是如何工作的。 https://www.youtube.com/watch?v=noF9LOoBgr4