@Retention(value=RUNTIME)
public @interface ReactMethod
This applies to derived classes of BaseJavaModule
, which will generate a list of
exported methods by searching for those which are annotated with this annotation and adding a JS
callback for each.
Modifier and Type | Optional Element and Description |
---|---|
boolean |
isBlockingSynchronousMethod
Whether the method can be called from JS synchronously **on the JS thread**, possibly returning
a result.
|
public abstract boolean isBlockingSynchronousMethod
WARNING: in the vast majority of cases, you should leave this to false which allows your native module methods to be called asynchronously: calling methods synchronously can have strong performance penalties and introduce threading-related bugs to your native modules.
In order to support remote debugging, both the method args and return type must be
serializable to JSON: this means that we only support the same args as ReactMethod
, and
the hook can only be void or return JSON values (e.g. bool, number, String, WritableMap
, or WritableArray
). Calling these methods when running under the websocket
executor is currently not supported.