【发布时间】:2019-01-02 17:03:34
【问题描述】:
考虑以下代码:
let id = setInterval(function f() {console.log("Nice.");}, 1000);
console.log(id);
JSON.stringify(id);
最后一行出现错误TypeError: Converting circular 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 对象包含循环引用?
【问题讨论】:
-
你为什么要 JSON.stringifying 它?
标签: javascript node.js typeerror circular-reference stringify