-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Add a 'nextTick' function to dart:core #3260
Comments
FYI this came up on the mailing list https://groups.google.com/a/dartlang.org/d/msg/misc/2Uc6cNDWNz0/JygYiaH9-ysJ CC'ing Mads and Ivan, as this spans the IO lib and the VM (I think) cc @madsager. |
This comment was originally written by [email protected] Please give it a better name. Next tick sounds so much like its related to the clock. Justin suggested "defer", which is much clearer. |
Today we have two options for scheduling delaying tasks for immediate execution: Timer.run and runAsync both available in dart:async. The latter is scheduled for execution before any Timer and DOM events. Added Fixed label. |
Quick update, runAsync was renamed to scheduleMicrotask a few days ago. :) |
Revisions updated by `dart tools/rev_sdk_deps.dart`. dartdoc (https://github.com/dart-lang/dartdoc/compare/dc502d0..4d7dc93): 4d7dc93b 2022-12-05 dependabot[bot] Bump github/codeql-action from 2.1.31 to 2.1.35 (#3263) bcf8b6e8 2022-12-05 Parker Lougheed Weight enums the same as classes for searching (#3260) 7d95578b 2022-12-04 Parker Lougheed Update template descriptions (#3258) d558f043 2022-12-04 Parker Lougheed Fix error when using base element href (#3256) c3663762 2022-12-04 Parker Lougheed Add unnecessary override ignore to fix build (#3257) http (https://github.com/dart-lang/http/compare/976bd56..46a7708): 46a7708 2022-12-02 Brian Quinlan Remove binary artifact (#833) sync_http (https://github.com/dart-lang/sync_http/compare/f5c1f18..8622614): 8622614 2022-12-02 Kevin Moore blast_repo fixes (#32) test (https://github.com/dart-lang/test/compare/f3d80a6..4dceb87): 4dceb87c 2022-12-01 Nate Bosch Ignore some usage of dperecated errors (#1807) webdev (https://github.com/dart-lang/webdev/compare/91b8a19..e39506e): e39506e 2022-12-05 Anna Gringauze Pre-warm expression compiler to speed up Flutter Inspector page loading. (#1786) 9b19b3b 2022-12-02 Elliott Brooks (she/her) Can save storage objects in both `session` and `local` storage (#1807) e75c45e 2022-12-02 Elliott Brooks (she/her) Injected client adds `isFlutterApp` to global window object (#1806) ba5e3ec 2022-12-01 Elliott Brooks (she/her) `DebugSession` listens to events instead of just sending events (#1804) Change-Id: I881d02e966b763879df72b29653a9f241b71eb3d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273826 Commit-Queue: Devon Carew <[email protected]> Reviewed-by: Nate Bosch <[email protected]>
This is an accumulation of 12 commits to dartdoc, imported into dart-lang/sdk across 4 commits, noted below. I've also stripped out the changes made to any other repository in this DEPS file. Revisions updated by `dart tools/rev_sdk_deps.dart`. From cabf333: dartdoc (https://github.com/dart-lang/dartdoc/compare/eb90a44..1f42216): 1f422163 2022-12-13 Sam Rawlins Bump to 6.1.5 (#3274) From a3b7a76: eb90a44c 2022-12-12 Sam Rawlins Remove annotations from the features section of each element (#3268) 16126376 2022-12-12 Parker Lougheed Don't show null in search results when no description (#3273) 3ff7aa75 2022-12-12 Sam Rawlins Fix search arrows by using a flat list of suggestions (#3271) 90264fb4 2022-12-12 dependabot[bot] Bump github/codeql-action from 2.1.35 to 2.1.36 (#3270) bede500d 2022-12-12 Sam Rawlins Fix remote linking in 2.18 and 3.0.0 (#3267) From 0c14719: dartdoc (https://github.com/dart-lang/dartdoc/compare/4d7dc93..f2bb6e9): f2bb6e92 2022-12-07 Sam Rawlins Bump to 6.1.4 (#3266) From 3a1d7c7: dartdoc (https://github.com/dart-lang/dartdoc/compare/dc502d0..4d7dc93): 4d7dc93b 2022-12-05 dependabot[bot] Bump github/codeql-action from 2.1.31 to 2.1.35 (#3263) bcf8b6e8 2022-12-05 Parker Lougheed Weight enums the same as classes for searching (#3260) 7d95578b 2022-12-04 Parker Lougheed Update template descriptions (#3258) d558f043 2022-12-04 Parker Lougheed Fix error when using base element href (#3256) c3663762 2022-12-04 Parker Lougheed Add unnecessary override ignore to fix build (#3257) Change-Id: I21fc9ecd36db78b7ef420bd179af4907e667557d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279320 Reviewed-by: Kevin Moore <[email protected]> Commit-Queue: Kevin Chisholm <[email protected]>
This issue was originally filed by [email protected]
If you want to defer execution of some function to a later turn of the event queue, you have to use Timer (from dart:io) on the VM and window.setTimeout (from dart:html) in the browser.
Now there is a bug to move Timer from dart:io to dart:core (and I think this should definitely be done), but using timer with zero timeout for deferring execution is quite inconvenient. I suggest to add a function like 'nextTick' to dart:core, modeled after Node.js's API (see http://nodejs.org/api/process.html#process_process_nexttick_callback).
I'm not exactly sure about the name, maybe 'deferExecution' or 'nextTurn' would be better, but I'll leave this decision up to you.
The text was updated successfully, but these errors were encountered: