Comments (5)
Stack trace manipulation isn't very well specified (hopefully this will change), and it's fraught with performance issues (which is unlikely to change any time soon). As such it shouldn't be part of the spec. Incidentally if you're using the latest version of Q
you can control how much stack trace info will be kept by using Q.longStackJumpLimit
. You should set it to 0
in production, and be aware that very large numbers will cause serious memory issues for long promise chains. I think it defaults to about 2
from promises-spec.
@ForbesLindesay for the record on Q: 0.8.5 onward has had one-level "long" stack tracing, with the ability to control it only introduced in the unreleased Q 0.9. It's defaulting to 1 right now, since I still haven't written the code to stitch together multiple jumps, but hopefully before 0.9 is released multiple levels will be allowed with a default of maybe 5.
But yes, I agree that this isn't something we can really specify or mandate, for performance reasons if nothing else.
Although, maybe coming up with a standard for long traces generally would be good? Maybe not within scope of Promises/A+, but standardizing on "From previous event:" or similar would be nice!
from promises-spec.
Would be interesting to see if two libraries that both did long stack traces (with several jumps) could be made to inter-operate nicely to produce the full long stack trace from both libraries.
from promises-spec.
^ oh woah, interesting idea.
from promises-spec.
I don't know of any other libraries that do it though.
from promises-spec.
Related Issues (20)
- Can you assist me in satisfying promises aplus spec 2.2.4 in NodeJS? HOT 4
- here is a Chinese translation HOT 1
- Confused terminology: resolve and fulfill HOT 3
- Proposal: Make clear in the spec that the Promise constructor runs the provided function body immediately HOT 1
- Relationship with ECMA-262 ยง 25.4.2 - Promise Jobs HOT 4
- What is the intention behind clause 2.2.4 of Promise/A+ spec? HOT 5
- change "if x is a promise" to something non-circular and clear HOT 7
- clarify "is an object or function" HOT 10
- Clarify ambiguity between promises and thenables w.r.t. 2.3.2.1? HOT 5
- Promise Resolution Procedure 3.iii: What if then never calls its arguments? HOT 2
- UnhandledPromiseRejectionWarning HOT 3
- Some imprecise points in this spec HOT 22
- Question about **promise resolution procedure** 2.3.2 HOT 2
- Adopting state without .then() HOT 2
- Support translation
- What happened? please see code
- please see code HOT 1
- Rust promise implementation
- Add my implementation of promises
- Confused about the point of 2.3.2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from promises-spec.