1
こんにちはすべてから単一の呼び出しを許可するリアクト
私は、データを取得するためにサーバーに接続したときに、ネイティブプロジェクトを反応させるのにネイティブモジュールから受信したコールバックへの約束を使用してい:
- 最初、私は "LOGIN" 私はアクション "GET_LIST" と呼ばログインから受信したデータの後
- 、
しかしアクション "GET_LIST" の応答アクションと呼ばれ、私はRECE以下のように間違ったived:は、ネイティブのコールバックタイプが唯一のネイティブコード
09-06 08:48:22.117 13540-15635/? W/System.err: JNA: Callback [email protected] 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)
これは、ネイティブモジュールから呼び出された私のコールバック:
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);
私は誰かが
- はネイティブバージョンに反応くれ
追加情報を助けることができると思います。 0.47.2
- プラットフォーム:IOS、 Androidの
- 開発オペレーティングシステム:MacOSの
- 開発ツール:Androidのメーカー、Xcodeの