diff --git a/qjs.c b/qjs.c index 401bed0..3c1ee99 100644 --- a/qjs.c +++ b/qjs.c @@ -465,6 +465,7 @@ int main(int argc, char **argv) goto fail; } if (interactive) { + JS_SetHostPromiseRejectionTracker(rt, NULL, NULL); js_std_eval_binary(ctx, qjsc_repl, qjsc_repl_size, 0); } js_std_loop(ctx); diff --git a/repl.js b/repl.js index e6e720b..3f8393a 100644 --- a/repl.js +++ b/repl.js @@ -1098,24 +1098,20 @@ import * as os from "os"; } mexpr = ""; - eval_and_print_start(expr, true); + eval_and_print_start(expr); return true; } - function eval_and_print_start(expr, is_async) { + function eval_and_print_start(expr) { var result; try { eval_start_time = os.now(); /* eval as a script */ - result = std.evalScript(expr, { backtrace_barrier: true, async: is_async }); - if (is_async) { - /* result is a promise */ - result.then(print_eval_result, print_eval_error); - } else { - print_eval_result({ value: result }); - } + result = std.evalScript(expr, { backtrace_barrier: true, async: true }); + /* result is a promise */ + result.then(print_eval_result, print_eval_error); } catch (error) { print_eval_error(error); }