浏览器中的控制台根据折叠程度同时显示字段的两个不同值

问题描述 投票:0回答:1

我将我的对象打印到控制台。它清楚地表明字段

locked
的值为
true
。然而,展开它以查看更详细的细节,显示了
false
的价值。在同时时间!

我完全理解这不是黑魔法,所以该值只能同时是其中之一。这意味着控制台值的呈现会受到某种程度的影响。重新启动浏览器、计算机以及在 Edge 和 Chrome 之间切换都没有任何变化。在另一台计算机上也会发生这种情况。

我怀疑应用程序接线的问题使浏览器感到困惑。但是,由于应用程序的大小,我无法发布最小的、可重现的示例。我必须一点一点地分解它,直到找到问题(这超出了这个问题的范围)。

我想知道的是一个探索它的好方法。我可以测试什么以及如何更深入地检查(比通常的安慰等)。

代码正是说明了这一点。

console.log('vm', this.vm.rows);
for (let i = 0; i < this.vm.rows.length; i++)
  console.log('forrish', this.vm.rows[i]);
this.vm.rows.forEach(a => console.log('each', a));

我似乎在第一行和循环时获得了正确的打印输出,但在迭代时却没有。 (当我使用

.map(...)
时也会出现同样的奇怪现象。这就像迭代导致了某些事情。但这对我来说毫无意义......

enter image description here

angular
1个回答
0
投票

单击 i 图标。 Chrome 会显示一条弹出消息,解释记录的变量值可能已过时。

stale value in console

© www.soinside.com 2019 - 2024. All rights reserved.