【发布时间】:2021-12-30 07:39:23
【问题描述】:
我已经尝试过setInterval(),它看起来很完美,但问题是它不会立即启动第一个调用并等待 X 秒然后给出所需的值,是否有其他方法或者我应该运行它无限循环并在其中放入类似sleep 的功能?
【问题讨论】:
-
你应该试试 cronjob npmjs.com/package/node-cron
标签: javascript node.js
我已经尝试过setInterval(),它看起来很完美,但问题是它不会立即启动第一个调用并等待 X 秒然后给出所需的值,是否有其他方法或者我应该运行它无限循环并在其中放入类似sleep 的功能?
【问题讨论】:
标签: javascript node.js
如果您的问题只是第一次没有调用,那么没关系
function doThis(){
console.log("hello");
}
const time = 1000;
doThis(); // Calls for the first time
setInterval(doThis(),time); // Now it starts the samething.
//There is another option also for same thing:
setInterval(function doThis() {
console.log('hello');
return doThis();
}(), time);
但不推荐function takes longer than delayed time
有关此声明的更多信息:
https://dev.to/akanksha_9560/why-not-to-use-setinterval--2na9
https://chrisblackwell.me/setinterval-is-bad/
function doThis() {
console.log("hellow");
setTimeout(doThis, 1500);
}
doThis();
setInterval 发生的问题不会在这里发生,因为这只会安排下一次迭代,而不是所有未来的迭代。
【讨论】: