-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discuss blocking on Zones proposal #340
Comments
@nodejs/async_hooks I guess? |
We can setup a meeting in the diagnostics WG. Does this have any relation to angular/zone.js#795? /cc @JiaLiPassion |
@AndreasMadsen , thanks for cc me, the nodejs/CTC#166 (comment) seems about error handling of |
@JiaLiPassion Is the following no longer a goal?
|
@bmeck ,
|
I am 👎 on changing Generically, I would prefer that zones would create a new context that does not influences anything that happens outside of it. |
@mcollina , thank you for your advice, currently, my thought is just use
So currently I just thought maybe with |
Unfortunately, we don't have a mechanism for that. Domains works by catching the error before @JiaLiPassion if you want to experiment with it, you can overwrite |
@AndreasMadsen , thank you ! I will try it. |
Hey all, is there an update on this? should we consider a strategic initiative around it? |
@JiaLiPassion We now have a public API for catching error the way domain does it. And we have migrated the
Additionally, there is a general tracking issue for implementing |
@AndreasMadsen , Thank you for the update, I will look into it. And I will also check the |
@JiaLiPassion we now have the |
@AndreasMadsen , got it, I will check it, thank you!!! is the new const p1 = new Promise(() => {}); // This will never be resolved
const p2 = new Promise((resolve) => setTimeout(resolve, 1000, p1)); // resolve p2 with p1 after 1s I will test it. |
@JiaLiPassion I'm not sure it can. I think it just emits the first |
@AndreasMadsen , got it, I will test it. |
Discussion here appears to have stalled. Is there a next step or can we close this issue? |
@jasnell I've never gotten a clear statement on if we want to continue to block the language level feature still. It seems ok to close, but I suspect this issue will continue to be raised at a language level. |
yeah, I doubt this issue is going to be enough to get the existing TSC membership organized enough to form a coherent opinion. If there is forward movement on the zones proposal, we can review at that time, I suppose. |
@jasnell there is no momentum / Zones is stalled due to block from Node on Error handling ( domenic/zones#9 ), the champion sees Error handling as mandatory to move forward. |
Ok, how about sometime in the next few months we queue this back up for a more active TSC discussion? |
@nodejs/tsc ... @mcollina and I have been discussing the issues around Zones and some of the requirements around continuation local storage in general. We've been kicking around a few ideas that I've captured here: https://docs.google.com/presentation/d/1N8w-Ees6sy5qcqh8y5Fc271pcicbI4AB1D8eCIl_1aQ/edit?usp=sharing I'd like to get some discussion going among ourselves to see if this is an approach we could rally behind before taking it to TC-39. |
@jasnell was this discussed at the last TC39 meeting? |
@fhinkel it was not discussed in March; the next TC39 meeting after that comment was posted will be at the end of May. |
Yes. Both :) |
If someone could tag this with There are two fundamental problems w/ "async" in javascript:
It is our belief (hope?) that if we get the concepts & terminology in 1) correct, then language constructs and VM support should follow easily. RE Zones, it provides some capabilities over the async call graph, namely continuation-local-storage and error propagation. However, there are other desired capabilities as well, e.g., post-mortem analysis, or a debugger stepping across async boundaries "in context". Given all of this, I think Zones is a bit premature. If something goes to TC39, I would prefer it focus on first-principles and address those two fundamental problems above. If we can get those things nailed, then we can talk about user APIs to support CLS or error async error propagation or anything else. Moreover, with the right model in place, if someone doesn't like Zones behavior, they're free to implement their own over the primitives. /cc @bterlson, @mrkmarron |
This was discussed in the latest Diagnostic WG meeting. At this point we believe we need to close on the work on async formalization before we might look at something like this. Given that and that we have nobody stepping up as a champion going to remove from diagnostic agenda for now. |
Closing this due to inactivity and it likely being out-of-date, but feel absolutely free to hit the re-open button if that's not the right thing to do. |
Moving here, as per: nodejs/CTC#166 (comment)
The text was updated successfully, but these errors were encountered: