原生模块如何回调到 JavaScript 内部桥接方法,然后在内部方法中进行处理,例如将数据解析为 JSON,然后引发 React Native 应用程序接收到的事件?
对于跨平台的桥模块,我想避免在重复的代码都目标C和Java。如果可能,我想用 JavaScript 编写跨平台桥接模块代码,并在 Android 和 iOS 上重复使用。
我目前的解决方案:
这有效。
这将导致对 sendEventWithName 的两次调用:
题:
本机代码是否有一种方法可以使用 JS 调用同步处理数据,然后使用 sendEventWithName 立即发送结果?
还是每个 native > JS 调用都需要 async _bridge enqueueJSCall
?
文件:MyNativeModule.m
// 使用 forwardEventWithName 来转发事件 // 由常见的跨平台JS处理到react native app RCT_EXPORT_METHOD(forwardEventWithName:(NSString*)name 正文:(NSString*)正文){ [self sendEventWithName:name body:body]; } // 1 - 响应本机应用程序调用 sendQueryToBluetoothDevice // 2 - 设备在收到响应时调用 commandResponse RCT_EXPORT_METHOD(sendQueryToBluetoothDevice:(NSString*)command { [_device sendCommand:command]; } // 1 - 从外部蓝牙设备接收 XML 响应 // 2 …