同步js执行

This commit is contained in:
hua
2020-12-25 16:57:51 +08:00
parent 348848837a
commit f9d1ac17ca

View File

@@ -128,4 +128,18 @@ class FlutterQjs {
jsFreeValue(_ctx, jsval);
return ret;
}
/// Evaluate js script (Sync).
dynamic evaluateSync(String command, {String name, int evalFlags}) {
_ensureEngine();
var jsval =
jsEval(_ctx, command, name ?? "<eval>", evalFlags ?? JSEvalType.GLOBAL);
if (jsIsException(jsval) != 0) {
jsFreeValue(_ctx, jsval);
throw Exception(parseJSException(_ctx));
}
var result = jsToDart(_ctx, jsval);
jsFreeValue(_ctx, jsval);
return result;
}
}