JSFContextJSCImpl class
Constructors
- JSFContextJSCImpl.create(JSFRuntime rt)
- JSFContextJSCImpl.from(JSContext ctx)
Properties
- ctx ↔ JSContext
-
真正的 JSContext 对象实现
getter/setter pairinherited
- extension ↔ JSFExtension?
-
扩展
getter/setter pairinherited
- globalObject → JSFValue
-
获取当前引擎的全局对象
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- isJSC ↔ bool
-
当前 js 引擎是否是 JavaScriptCore
getter/setter pairinherited-setteroverride-getter
- isQJS ↔ bool
-
当前 js 引擎是否是 QuickJS
getter/setter pairinherited
- rtName → String
-
获取当前引擎名称
no setterinherited
- runtime → JSFRuntime
-
获取当前引擎实例
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
addInterface(
String funcName, dynamic func(dynamic arg)) → bool -
在 JSContext 中添加一个 dart bridge 函数
func 支持异步函数, 对应 js 中返回 promise
override
-
dynamicToJSFValue(
dynamic v) → JSFValue -
将 dart 中的值转为 js 中的值
当前支持 Null、num、String、bool 类型
其他类型会被转为 String 类型
inherited
-
eval(
String script, {JSFValue? thiz, String? sourceURL, int startingLineNumber = 1}) → JSFValue -
执行 js 代码
override
-
evalAsync(
String script, {JSFValue? thiz, String? sourceURL, int startingLineNumber = 1, Duration timeout = const Duration(seconds: 16)}) → Future< JSFValue> -
执行 js 代码,如果返回值是 promise,则返回一个 future
如果返回值不是 promise,则直接返回 future.value(返回值)
inherited
-
evalIsolate(
String script, {JSFValue? thiz, String? sourceURL, int startingLineNumber = 1}) → Future< JSFValue?> -
在新的 isolate 中执行 js 代码
inherited
-
free(
) → void -
释放 JSContext
override
-
loadExtension(
{bool console = true, bool xhr = true, bool fetch = true, bool timeout = true, bool interval = true, bool promise = true}) → JSFExtension? -
加载扩展
默认加载 console, xhr, fetch, timeout, interval, promise 扩展
如果需要加载其他扩展,请使用 context.extension?.chain(XXXExtension(context))
inherited
-
makeBoolean(
bool v) → JSFValue -
在 dart 中创建一个 js 的 Boolean 对象
override
-
makeError(
String errorStr) → JSFValue -
在 dart 中创建一个 js 的 Error 对象
override
-
makeJsonString(
String jsonStr) → JSFValue -
在 dart 中创建一个 js 的 JSON 对象
override
-
makeNull(
) → JSFValue -
在 dart 中创建一个 js 的 undefined 对象
override
-
makeNumber(
int number) → JSFValue -
在 dart 中创建一个 js 的 Number 对象
override
-
makeString(
String str) → JSFValue -
在 dart 中创建一个 js 的 String 对象
override
-
makeUndefined(
) → JSFValue -
在 dart 中创建一个 js 的 undefined 对象
override
-
nativeFutureToPromise(
Future fut) → JSFValue? -
将 dart 中的 Future 转为 js 中的 promise
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeInterface(
String funcName) → bool -
移除 JSContext 中添加的 dart bridge 函数
override
-
runPromise(
JSFValue promise, {Duration timeout = const Duration(days: 1)}) → Future< JSFValue> -
手动执行一个 js promise 函数,返回 future
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited