我已经浏览了链接:https://github.com/facebook/react-native/issues/23835#issuecomment-493007479
但没有解决办法。我了解到这个错误是在以下情况触发的:
我正在使用react-native-ble-manager。
过程:在将允许读取的特征设置为通知后,我使用允许写入的特征发送写入消息。我在用于接收通知的响应侦听器中收到“ack”,然后我开始按设计逐块发送自定义数据块。
我在发送第一个块期间收到此错误。
我已经使用迭代和 to 检查了我的 uint8Array 是否有任何错误数据,但找不到任何数据。
来自我的日志:
2020-09-04 12:52:13.944 21942-22004/com.my_app E/ReactNativeJS: Error: Exception in HostFunction: Malformed calls from JS: field sizes are different.
[[3,13,37],[5,22,0],[["{\"type\":\"log\",\"level\":\"log\",\"data\":[\"payload[18]: \\u0000\"]}",1],[221,100,1599204133919,false]],2453]
我迭代了我的 uint8Array 并获取了中的每个元素 var newArr = [];
我也做了 newArr[i] = newArr[i] & 0xff。
这意味着每个元素应该通过具有相同的大小来确认为 uint8。这个方法就可以做到。删除不需要的溢出,同时保留实际数据。
错误消失了。