diff --git a/core/examples/fs_module_loader.rs b/core/examples/fs_module_loader.rs index 4b62b56873..cd22e022c1 100644 --- a/core/examples/fs_module_loader.rs +++ b/core/examples/fs_module_loader.rs @@ -28,9 +28,9 @@ fn main() -> Result<(), Error> { let future = async move { let mod_id = js_runtime.load_main_module(&main_module, None).await?; - let _ = js_runtime.mod_evaluate(mod_id); + let result = js_runtime.mod_evaluate(mod_id); js_runtime.run_event_loop(false).await?; - Ok(()) + result.await? }; runtime.block_on(future) } diff --git a/core/examples/ts_module_loader.rs b/core/examples/ts_module_loader.rs index 7771812d3b..50d101b87d 100644 --- a/core/examples/ts_module_loader.rs +++ b/core/examples/ts_module_loader.rs @@ -109,9 +109,9 @@ fn main() -> Result<(), Error> { let future = async move { let mod_id = js_runtime.load_main_module(&main_module, None).await?; - let _ = js_runtime.mod_evaluate(mod_id); + let result = js_runtime.mod_evaluate(mod_id); js_runtime.run_event_loop(false).await?; - Ok(()) + result.await? }; tokio::runtime::Builder::new_current_thread() diff --git a/core/runtime.rs b/core/runtime.rs index 6cc6381229..4ca1247f69 100644 --- a/core/runtime.rs +++ b/core/runtime.rs @@ -1190,10 +1190,11 @@ impl JsRuntime { /// Evaluates an already instantiated ES module. /// /// Returns a receiver handle that resolves when module promise resolves. - /// Implementors must manually call `run_event_loop()` to drive module - /// evaluation future. + /// Implementors must manually call [`JsRuntime::run_event_loop`] to drive + /// module evaluation future. /// - /// `Error` can usually be downcast to `JsError`. + /// `Error` can usually be downcast to `JsError` and should be awaited and + /// checked after [`JsRuntime::run_event_loop`] completion. /// /// This function panics if module has not been instantiated. pub fn mod_evaluate( @@ -1550,7 +1551,7 @@ impl JsRuntime { /// The module will be marked as "main", and because of that /// "import.meta.main" will return true when checked inside that module. /// - /// User must call `JsRuntime::mod_evaluate` with returned `ModuleId` + /// User must call [`JsRuntime::mod_evaluate`] with returned `ModuleId` /// manually after load is finished. pub async fn load_main_module( &mut self, @@ -1609,7 +1610,7 @@ impl JsRuntime { /// This method is meant to be used when loading some utility code that /// might be later imported by the main module (ie. an entry point module). /// - /// User must call `JsRuntime::mod_evaluate` with returned `ModuleId` + /// User must call [`JsRuntime::mod_evaluate`] with returned `ModuleId` /// manually after load is finished. pub async fn load_side_module( &mut self,