【问题标题】:CoffeeScript / JavaScript - Making promises compatible with Source Maps?CoffeeScript / JavaScript - 使 Promise 与 Source Maps 兼容?
【发布时间】:2013-07-02 10:03:18
【问题描述】:

源映射使得在浏览器中调试 CoffeeScript 代码变得非常容易。现在不能没有它!

我将 Q 用于 Promise,不幸的是,当 Promise 中出现错误时,Q 返回原始跟踪堆栈。

Q.when $.ajax(...)
.then ()->
   ...
.fail (error)->
   console.log error.stack

有没有办法在它的“源映射”计数器部分转换默认堆栈跟踪?

谢谢! :)

【问题讨论】:

    标签: javascript coffeescript promise q source-maps


    【解决方案1】:

    源映射并不是很适合这种情况,但使用 V8 JavaScript 引擎(在 Google Chrome 和 node.js 中使用),可以使用 JavaScript API 改变堆栈跟踪。

    如果您启用长堆栈跟踪,Q 将执行此操作。你不应该在生产中使用它,因为它会带来巨大的性能损失:https://github.com/kriskowal/q#long-stack-traces

    【讨论】:

    • 是的,我已经调查过了,不幸的是,在这种情况下无法让源映射工作。
    • 问题是,源映射在这种情况下意味着什么?源地图不会影响代码流,只会影响代码的位置。当与 Promise 结合使用时,我可以看到生成器正在做更多的事情,但它不会是源映射。
    猜你喜欢
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 2023-04-02
    • 2019-06-15
    相关资源
    最近更新 更多