0

我们正在尝试在我们的 AngularJS/Breeze 门户网站中使用 loggly,当我尝试通过 $log.error 通过网络发送错误时遇到了一些麻烦(角度日志记录和 loggly 日志记录都在这里发挥作用)。最终调用 JSON.stringify 会抛出:

将循环结构转换为 JSON

问题是 entityErrors 数组包含一个实体数组,其中每个实体都包含一个 entityAspect,该实体还包含相同的实体,该实体包含相同的 entityAspect……是的,您知道我要去的地方。

EntityAspect 是由 Breeze 自动插入的,所以我不知道如何绕过这个循环引用。是否有任何我没有想到的可能导致这种递归嵌套的陷阱,或者这正是 Breeze 中的 entityAspect 功能的工作方式?

4

1 回答 1

1

如果您可以管理如何记录错误,则可以避免这些问题。

显然,由于您发现的原因,仅转储错误对象是行不通的。我选择了我想要记录的错误信息。我一般不转储entityErrors; 我从他们那里选择我真正需要的信息。

如果我觉得我必须抛弃它们,我会考虑使用EntityManager.exportEntities andasString=false选项includeMetadata=false。这将返回一个没有循环的 JSON 结构。

于 2015-05-07T20:53:51.703 回答