From 48bb3b2b0f519077e1a454034fbbe79d9db23c4a Mon Sep 17 00:00:00 2001 From: Trevor Manz Date: Fri, 6 Oct 2023 17:26:11 -0400 Subject: feat(unstable): Await return from `Jupyter.display` (#20807) Allows `Jupyter.display` to return a promise. Example: ```javascript class WikiPage { constructor(public name) {} async [Symbol.for("Jupyter.display")]() { let response = await fetch("https://en.wikipedia.org/wiki/" + this.name); return { "text/html": await response.text() } } } new WikiPage("Deno_(software)") ``` --- cli/tools/jupyter/server.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'cli/tools') diff --git a/cli/tools/jupyter/server.rs b/cli/tools/jupyter/server.rs index 391d202fd..2c7bea9d2 100644 --- a/cli/tools/jupyter/server.rs +++ b/cli/tools/jupyter/server.rs @@ -551,13 +551,13 @@ async fn get_jupyter_display( .post_message_with_event_loop( "Runtime.callFunctionOn", Some(json!({ - "functionDeclaration": r#"function (object) { + "functionDeclaration": r#"async function (object) { if (typeof object[Symbol.for("Jupyter.display")] !== "function") { return null; } - + try { - const representation = object[Symbol.for("Jupyter.display")](); + const representation = await object[Symbol.for("Jupyter.display")](); return JSON.stringify(representation); } catch { return null; -- cgit v1.2.3