setInterval 返回计时器对象而不是intervalId

发布于 2024-12-12 05:05:02 字数 414 浏览 0 评论 0原文

我想通过使用我打算存储在本地文件中的 intervalId 来清除间隔。

我的印象是分配 setInterval 返回其 intervalId 但我似乎得到 [object Timer] 相反。


var fs = require("fs");

var id = setInterval(function(){
  console.log("tick");
}, 1000);

console.log(id);

var stream = fs.createWriteStream("id");
stream.once('open', function(fd) {
  stream.write(id);
});

我使用的是节点 v4.9

I want to clear an interval by using its intervalId which I intend to store in a local file.

I was under the impression that assigning setInterval returns its intervalId but I seem to be getting [object Timer] instead.


var fs = require("fs");

var id = setInterval(function(){
  console.log("tick");
}, 1000);

console.log(id);

var stream = fs.createWriteStream("id");
stream.once('open', function(fd) {
  stream.write(id);
});

I am using node v4.9

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

污味仙女 2024-12-19 05:05:02

它是一个计时器对象,但按照您期望的方式清除:

$ node ./test.js

var id = setInterval(function(){
  console.log("FOO");
  console.log(id);
}, 500);

setTimeout(function(){
  clearInterval(id);
}, 5000);

输出以下内容 5 秒,并按预期清除:

FOO
{ repeat: 0, callback: [Function] }
FOO
{ repeat: 0, callback: [Function] }
FOO
{ repeat: 0, callback: [Function] }

更多信息: http://nodejs.org/docs/v0.5.10/api/timers.html

It is a timer object, but clears the way you would expect it to:

$ node ./test.js

var id = setInterval(function(){
  console.log("FOO");
  console.log(id);
}, 500);

setTimeout(function(){
  clearInterval(id);
}, 5000);

Outputs the following for 5 seconds, and clears as expected:

FOO
{ repeat: 0, callback: [Function] }
FOO
{ repeat: 0, callback: [Function] }
FOO
{ repeat: 0, callback: [Function] }

More info: http://nodejs.org/docs/v0.5.10/api/timers.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文