We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
目前值传递有多套接口,可以考虑简化。 从c#到js传递的接口有: 1、函数、属性返回 ReturnXXX 2、(函数)ref数据返回 SetXXXToOutValue 3、js函数参数设置 PushXXXForJSFunction 从js到c#传递的有: 1、从v8::Value获取值 GetXXXFromValue 2、从js函数调用结果获取值 GetXXXFromResult
最初因为对v8的handle回收机制不够熟悉,没把握一个不被Local<T>管理的value指针是否会有问题,但了解v8的实现后,Local<T>只是指针的简单包装(node js的napi也依赖这点),以上接口可以考虑统一成v8::Value和C#的转换,加上一个Push或者Get接口。
Local<T>
好处是便于扩展,比如对JSObject的支持,适配新脚本后端更简单(比如jscore)。 不好的是目前backend_quickjs因为不满足“Local<T>只是指针的简单包装”可能用不了。
另外的思路是考虑用pesapi来实现。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
detail | 详细描述
目前值传递有多套接口,可以考虑简化。
从c#到js传递的接口有:
1、函数、属性返回
ReturnXXX
2、(函数)ref数据返回
SetXXXToOutValue
3、js函数参数设置
PushXXXForJSFunction
从js到c#传递的有:
1、从v8::Value获取值
GetXXXFromValue
2、从js函数调用结果获取值
GetXXXFromResult
最初因为对v8的handle回收机制不够熟悉,没把握一个不被
Local<T>
管理的value指针是否会有问题,但了解v8的实现后,Local<T>
只是指针的简单包装(node js的napi也依赖这点),以上接口可以考虑统一成v8::Value和C#的转换,加上一个Push或者Get接口。好处是便于扩展,比如对JSObject的支持,适配新脚本后端更简单(比如jscore)。
不好的是目前backend_quickjs因为不满足“
Local<T>
只是指针的简单包装”可能用不了。另外的思路是考虑用pesapi来实现。
The text was updated successfully, but these errors were encountered: