gpt4 book ai didi

javascript - 为什么 setInterval() 会给出循环引用?

转载 作者:太空宇宙 更新时间:2023-11-04 03:02:28 25 4
gpt4 key购买 nike

考虑以下代码:

let id = setInterval(function f() {console.log("Nice.");}, 1000);
console.log(id);
JSON.stringify(id);

最后一行出现错误,显示TypeError: Convertingcircular Structure to JSON

console.log(id) 给出

Timeout {
_called: false,
_idleTimeout: 1000,
_idlePrev:
TimersList {
_idleNext: [Circular],
_idlePrev: [Circular],
_timer: Timer { '0': [Function: listOnTimeout], _list: [Circular] },
_unrefed: false,
msecs: 1000,
nextTick: false },
_idleNext:
TimersList {
_idleNext: [Circular],
_idlePrev: [Circular],
_timer: Timer { '0': [Function: listOnTimeout], _list: [Circular] },
_unrefed: false,
msecs: 1000,
nextTick: false },
_idleStart: 81,
_onTimeout: [Function: f],
_timerArgs: undefined,
_repeat: 1000,
_destroyed: false,
[Symbol(asyncId)]: 6,
[Symbol(triggerAsyncId)]: 1 }

为什么Timeout对象包含循环引用?

最佳答案

请注意,setInterval在 node.js 中的行为与 setInterval 不同在 JavaScript 中。虽然 javascript 版本返回一个整数,但 node.js returns a Timeout object.并且不适用于序列化。

关于javascript - 为什么 setInterval() 会给出循环引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51526315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com