首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使新的stacktrace.js库同步

使新的stacktrace.js库同步
EN

Stack Overflow用户
提问于 2016-06-05 20:02:44
回答 3查看 456关注 0票数 3

我正在使用新的stacktracejs libary,它返回了一个承诺。

代码语言:javascript
复制
StackTrace.get() // this results in a promise

我能做些什么使它同步吗?

就像这样:

代码语言:javascript
复制
var result = magicalSomething(StackTrace.get());
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-06 02:00:30

更新:本杰明的回答更正确。从stacktrace.js v1.3.0开始使用这个

代码语言:javascript
复制
var stacktrace = StackTrace.getSync();

如果您需要同步行为,并且不关心猜测匿名函数、源映射支持或旧的IE,那么您可以这样使用作为stacktrace.js - 错误堆栈解析器基础的堆栈解析库:

代码语言:javascript
复制
function stacktrace() {
  try {
    throw new Error();
  } catch (e) {
    return ErrorStackParser.parse(e);
  }
}
票数 1
EN

Stack Overflow用户

发布于 2016-06-05 21:03:57

更新:现在有一个用于堆栈跟踪的.getSync(),它提供了部分信息,但您可以使用它。

StackTrace.js由打电话对堆栈跟踪中涉及的脚本文件进行工作,并为它们提取附加信息。这意味着您无法获得它自部件已经是异步的。以来生成的堆栈跟踪。

从技术上讲,这实际上是可以解决的,并且可以被同步化(代价是冻结页面几十秒)-然而,这似乎不是库的设计目标。

相反,使用库提供的内容并使用给定的承诺:

代码语言:javascript
复制
StackTrace.get().then(function(result) {
   // I got result here
});
票数 5
EN

Stack Overflow用户

发布于 2017-04-11 12:01:49

我只想提到,与stacktrace库同步获得源映射堆栈跟踪也是可能的。

它不是API的一部分,但经过一些修改是可能的。

见此处:https://github.com/stacktracejs/stacktrace.js/issues/188

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37646228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档