system.err javascript 样式控制台打印

system.err style console print in javascript

我最近发现做这样的事情:

console.dir(x)

不是瞬时的,而是缓冲的,除此之外,它在打印实际完成时打印变量 x 的状态,而不是在调用 console.dir(x) 时。这意味着如果 x 在我调用 console.dir(x) 和 console.dir(x) 实际打印之间发生变化,则不可能在特定时间点查看 x 的状态并且是保证在那个时间点查看 x 的状态。

有没有办法停止一切并打印 x 的状态,然后继续,类似于 System.err 在 java 中的工作方式?

如果您正在使用 Angular,您可以尝试 console.dir(angular.copy(x));。这将在记录时打印对象的副本,以便以后不会显示发生的任何突变。看到这个 JSFiddle.

或者你可以做 console.log(JSON.stringify(x, null, 2));