diff --git a/src/browser/callback_backend.rs b/src/browser/callback_backend.rs index f66fbae..aab2132 100644 --- a/src/browser/callback_backend.rs +++ b/src/browser/callback_backend.rs @@ -436,7 +436,9 @@ fn build_eval_js(source_url: &str, script: &str) -> String { let events_url = escape_js_single_quoted(&events_endpoint_url(source_url)); format!( - "(function(){{try{{var v=(function(){{return {script}}})();\ + "(async function(){{try{{\ + var v=await (async function(){{return {script}}})();\ + if(v&&typeof v.then==='function'){{v=await v;}}\ var t=(typeof v==='string')?v:JSON.stringify(v);\ try{{callBackJsToCpp('{escaped_source_url}@_@'+window.location.href+'@_@{callback}@_@sgBrowserExcuteJsCodeByDomain@_@'+(t??''))}}catch(_){{}}\ var j=JSON.stringify({{type:'callback',callback:'{callback}',request_url:'{escaped_source_url}',payload:{{value:(t??'')}}}});\