aboutsummaryrefslogtreecommitdiff
path: root/test/message/async_error_sync_esm.mjs
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2019-04-25 03:03:48 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2019-04-28 15:36:28 +0800
commit757f3f8b2cf9854292caaa143a1b0a7fbac5e0ea (patch)
tree09c9a3a888fc9477d91e75cd9972cd9e6d0cdfd3 /test/message/async_error_sync_esm.mjs
parentc5817abff5033da7c09302256a331e64473422a8 (diff)
downloadandroid-node-v8-757f3f8b2cf9854292caaa143a1b0a7fbac5e0ea.tar.gz
android-node-v8-757f3f8b2cf9854292caaa143a1b0a7fbac5e0ea.tar.bz2
android-node-v8-757f3f8b2cf9854292caaa143a1b0a7fbac5e0ea.zip
process: reduce the number of internal frames in async stack trace
Previously, we call the JS land `runNextTicks` implementation immediately from JS land after evaluating the main module or the input, so these synchronous JS call frames would show up in the stack trace of the async errors, which can be confusing. This patch moves those calls into C++ so that more of these internal scheduler implementation details can be hidden and the users can see a cleaner a cleaner async JS stack trace. PR-URL: https://github.com/nodejs/node/pull/27392 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Diffstat (limited to 'test/message/async_error_sync_esm.mjs')
-rw-r--r--test/message/async_error_sync_esm.mjs14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/message/async_error_sync_esm.mjs b/test/message/async_error_sync_esm.mjs
new file mode 100644
index 0000000000..86a901a122
--- /dev/null
+++ b/test/message/async_error_sync_esm.mjs
@@ -0,0 +1,14 @@
+// Flags: --experimental-modules
+/* eslint-disable node-core/required-modules */
+import '../common/index.mjs';
+import four from '../fixtures/async-error.js';
+
+async function main() {
+ try {
+ await four();
+ } catch (e) {
+ console.error(e);
+ }
+}
+
+main();