Die*_*nNT 5 reactjs react-native
我正在使用 Promise 从 React Native 项目上的本机模块接收回调,当我连接到服务器以获取数据时: * 首先,我调用了操作“LOGIN” * 从登录接收到数据后,我调用了操作“GET_LIST”,
但是操作“GET_LIST”的响应,我收到错误如下:
09-06 08:48:22.117 13540-15635/? W/System.err: JNA: Callback com.lnzekesi.SoLibraryModule$1@8f35faa threw the following exception:
09-06 08:48:22.119 13540-15635/? W/System.err: java.lang.RuntimeException: Illegal callback invocation from native module. This callback type only permits a single invocation from native code.
09-06 08:48:22.125 13540-15635/? W/System.err: at com.facebook.react.bridge.CallbackImpl.invoke(CallbackImpl.java:30)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.facebook.react.bridge.PromiseImpl.resolve(PromiseImpl.java:32)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.lnzekesi.SharedLibraryModule$1.function_recv_msg(SharedLibraryModule.java:213)
09-06 08:48:22.125 13540-15635/? W/System.err: at java.lang.reflect.Method.invoke(Native Method)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:520)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:551)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.sun.jna.Native.invokePointer(Native Method)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.sun.jna.Function.invokePointer(Function.java:490)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.sun.jna.Function.invoke(Function.java:434)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.sun.jna.Function.invoke(Function.java:354)
09-06 08:48:22.125 13540-15635/? W/System.err: at com.sun.jna.Library$Handler.invoke(Library.java:244)
09-06 08:48:22.125 13540-15635/? W/System.err: at java.lang.reflect.Proxy.invoke(Proxy.java:393)
09-06 08:48:22.125 13540-15635/? W/System.err: at $Proxy2.cli_wait(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
这是我从本机模块调用的回调:
onMsg = new SoLib.fnCallback() {
public synchronized void recvMsg(Pointer cli, final Pointer msg) {
promise.resolve(getResponse(msg, resIndex));
//always delete recv msg
SoLib.msgDelete(msg);
}
};
SoLib.cliRegOnMsg(cli, onMsg);
SoLib.cliConnect(cli);
Run Code Online (Sandbox Code Playgroud)
附加信息
| 归档时间: |
|
| 查看次数: |
12221 次 |
| 最近记录: |