mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Roll out TurboModule Promise Async Dispatch
Summary: ## Context The legacy NativeModule infra implements promise methods using [async NativeModule method calls](https://fburl.com/diffusion/tpkff6vg). In the TurboModule infra, promise methods [treat as sync methods](https://fburl.com/diffusion/yde7xw71), and executed directly on the JavaScript thread. This experiment makes TurboModule promise methods async, and dispatches them to the NativeModules thread, when they're executed from JavaScript. Reviewed By: fkgozali Differential Revision: D25623192 fbshipit-source-id: 2b50d771c5272af3b6edf150054bb3e80cab0040
This commit is contained in:
committed by
Facebook GitHub Bot
parent
40115d87d4
commit
5c4f145e33
@@ -61,7 +61,6 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
|
||||
(CallInvokerHolderImpl) jsCallInvokerHolder,
|
||||
(CallInvokerHolderImpl) nativeCallInvokerHolder,
|
||||
delegate,
|
||||
ReactFeatureFlags.enableTurboModulePromiseAsyncDispatch,
|
||||
ReactFeatureFlags.useTurboModuleJSCodegen);
|
||||
installJSIBindings();
|
||||
|
||||
@@ -295,7 +294,6 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
|
||||
CallInvokerHolderImpl jsCallInvokerHolder,
|
||||
CallInvokerHolderImpl nativeCallInvokerHolder,
|
||||
TurboModuleManagerDelegate tmmDelegate,
|
||||
boolean enablePromiseAsyncDispatch,
|
||||
boolean enableTurboModuleJSCodegen);
|
||||
|
||||
private native void installJSIBindings();
|
||||
|
||||
-3
@@ -43,13 +43,10 @@ jni::local_ref<TurboModuleManager::jhybriddata> TurboModuleManager::initHybrid(
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> jsCallInvokerHolder,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> nativeCallInvokerHolder,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate,
|
||||
bool enablePromiseAsyncDispatch,
|
||||
bool enableJSCodegen) {
|
||||
auto jsCallInvoker = jsCallInvokerHolder->cthis()->getCallInvoker();
|
||||
auto nativeCallInvoker = nativeCallInvokerHolder->cthis()->getCallInvoker();
|
||||
|
||||
JavaTurboModule::enablePromiseAsyncDispatch(enablePromiseAsyncDispatch);
|
||||
|
||||
return makeCxxInstance(
|
||||
jThis,
|
||||
runtimeExecutor->cthis()->get(),
|
||||
|
||||
-1
@@ -33,7 +33,6 @@ class TurboModuleManager : public jni::HybridClass<TurboModuleManager> {
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> jsCallInvokerHolder,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> nativeCallInvokerHolder,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate,
|
||||
bool enablePromiseAsyncDispatch,
|
||||
bool enableJSCodegen);
|
||||
static void registerNatives();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user