提交 35520a8a 编写于 作者: yanghye's avatar yanghye

upgrade-dev v2.3.7

上级 c395ab46
......@@ -125,9 +125,7 @@ func (m *ipcRenderProcess) ipcGoExecuteJSEvent(browser *ICefBrowser, frame *ICef
if argsV8ValueArray != nil {
argsV8ValueArray.Free()
}
if ret.IsUndefined() && ret.IsNull() {
resultData = ipcValueConvert.V8ValueToProcessMessageBytes(ret)
}
ret.Free()
callback.context.Exit()
}
......
......@@ -66,7 +66,7 @@ func SetProcessMessage(pm IProcessMessage) {
//On
//
// 参数 回调函数fn: EmitContextCallback 或 func
// 参数 回调函数fn: EmitContextCallback 或 func(...) {}
//
// IPC GO 监听事件, 自定义参数,仅支持对应 JavaScript 对应 Go 的常用类型
//
......@@ -135,11 +135,11 @@ func Emit(name string, argument ...any) {
// 复杂类型: slice, map, struct
// 复杂类型限制示例: slice: []interface{}, map: map[string]interface{}
// callback: 无返回值的回调函数, 接收返回值. 函数类型 EmitContextCallback 或 func(...) {}
func EmitAndCallback(name string, argument []any, callback any) {
func EmitAndCallback(name string, argument []any, fn any) {
if browser == nil || name == "" || browser.processMessage == nil {
return
}
messageId := browser.addEmitCallback(callback)
messageId := browser.addEmitCallback(fn)
browser.processMessage.SendProcessMessageForIPC(messageId, name, consts.PID_RENDER, nil, argument...)
}
......@@ -169,11 +169,11 @@ func EmitTarget(name string, target ITarget, argument ...any) {
// 复杂类型: slice, map, struct
// 复杂类型限制示例: slice: []interface{}, map: map[string]interface{}
// callback: 无返回值的回调函数, 接收返回值. 函数类型 EmitContextCallback 或 func(...) {}
func EmitTargetAndCallback(name string, target ITarget, argument []any, callback any) {
func EmitTargetAndCallback(name string, target ITarget, argument []any, fn any) {
if browser == nil || name == "" || browser.processMessage == nil {
return
}
messageId := browser.addEmitCallback(callback)
messageId := browser.addEmitCallback(fn)
browser.processMessage.SendProcessMessageForIPC(messageId, name, consts.PID_RENDER, target, argument...)
}
......@@ -230,11 +230,6 @@ func (m *browserIPC) addEmitCallback(fn any) int32 {
if m == nil || fn == nil {
return 0
}
rv := reflect.ValueOf(fn)
//必须是一个函数
if rv.Kind() != reflect.Func {
return 0
}
m.emitLock.Lock()
defer m.emitLock.Unlock()
if callbackFN := createCallback(fn); callbackFN != nil {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册