From 40b0221e3c25e61b8c62dcb702118ba62cca0ea3 Mon Sep 17 00:00:00 2001 From: chenqy930 Date: Mon, 21 Jun 2021 15:50:10 +0800 Subject: [PATCH] fix promise callback unhandled Signed-off-by: chenqy930 --- frameworks/bridge/js_frontend/engine/quickjs/qjs_engine.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frameworks/bridge/js_frontend/engine/quickjs/qjs_engine.cpp b/frameworks/bridge/js_frontend/engine/quickjs/qjs_engine.cpp index fc8494bf2bb..dfe9ea63380 100644 --- a/frameworks/bridge/js_frontend/engine/quickjs/qjs_engine.cpp +++ b/frameworks/bridge/js_frontend/engine/quickjs/qjs_engine.cpp @@ -2222,8 +2222,9 @@ JSValue QjsEngineInstance::FireJsEvent(const std::string& param) QjsUtils::ParseJSON(ctx, param.c_str(), param.size(), nullptr), }; - JSValue retVal = JS_Call(ctx, callJsFunc, JS_UNDEFINED, countof(argv), argv); + JSValue retVal = JS_Call(ctx, callJsFunc, globalObj, countof(argv), argv); + js_std_loop(ctx); JS_FreeValue(ctx, globalObj); // It is up to the caller to check this value. No exception checks here. @@ -2259,8 +2260,9 @@ void QjsEngineInstance::CallJs(const std::string& callbackId, const std::string& QjsUtils::NewString(ctx, std::to_string(instanceId).c_str()), QjsUtils::ParseJSON(ctx, callBuff.c_str(), callBuff.size(), nullptr), }; - QjsUtils::Call(ctx, callJsFunc, JS_UNDEFINED, countof(argv), argv); + QjsUtils::Call(ctx, callJsFunc, globalObj, countof(argv), argv); + js_std_loop(ctx); JS_FreeValue(ctx, globalObj); } -- Gitee