来自JS的格式错误的调用:字段大小不同

问题描述

我已经通过链接https://github.com/facebook/react-native/issues/23835#issuecomment-493007479

但是没有解决方案。我了解到此错误是在以下时间触发的:

  1. 您在反应本机桥上以数组形式发送NaN。我对此了解不多。
  2. 在动画中使用无效数据(无穷大)期间。
  3. 底部导航期间。
  4. 使用菜单
  5. 在警报或通知中将响应数据显示为Toast。

我正在使用react-native-ble-manager。

过程:在将允许读取的特征设置为打开通知后,我使用允许写入的特征发送了写入消息。我在用于接收通知的响应侦听器中收到“ ack”,然后按设计按块开始发送自定义数据块。

在发送第一个块期间出现此错误

我已经使用迭代和来检查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。

错误消失了。