mirror of
https://github.com/wgh136/flutter_qjs.git
synced 2025-09-27 13:27:24 +00:00
同步js执行
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user