Refactor: ReactInstance: Make ctor more readable (#43984)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43984

Just improvemnts for readability.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D55563578

fbshipit-source-id: cb0ee311091db187bb938547c335c5583243116b
This commit is contained in:
Ramanpreet Nara
2024-04-08 19:36:04 -07:00
committed by Facebook GitHub Bot
parent 2e3f2268dc
commit 37eca5d6cd
@@ -41,7 +41,7 @@ ReactInstance::ReactInstance(
RuntimeExecutor runtimeExecutor = [weakRuntime = std::weak_ptr(runtime_),
weakTimerManager =
std::weak_ptr(timerManager_),
weakJsMessageQueueThread =
weakJsThread =
std::weak_ptr(jsMessageQueueThread_),
weakJsErrorHander = std::weak_ptr(
jsErrorHandler_)](auto callback) {
@@ -57,26 +57,28 @@ ReactInstance::ReactInstance(
return;
}
if (std::shared_ptr<MessageQueueThread> sharedJsMessageQueueThread =
weakJsMessageQueueThread.lock()) {
sharedJsMessageQueueThread->runOnQueue(
if (auto jsThread = weakJsThread.lock()) {
jsThread->runOnQueue(
[weakRuntime, weakTimerManager, callback = std::move(callback)]() {
if (auto strongRuntime = weakRuntime.lock()) {
jsi::Runtime& jsiRuntime = strongRuntime->getRuntime();
SystraceSection s("ReactInstance::_runtimeExecutor[Callback]");
try {
callback(jsiRuntime);
auto runtime = weakRuntime.lock();
if (!runtime) {
return;
}
// If we have first-class support for microtasks,
// they would've been called as part of the previous callback.
if (!ReactNativeFeatureFlags::enableMicrotasks()) {
if (auto strongTimerManager = weakTimerManager.lock()) {
strongTimerManager->callReactNativeMicrotasks(jsiRuntime);
}
jsi::Runtime& jsiRuntime = runtime->getRuntime();
SystraceSection s("ReactInstance::_runtimeExecutor[Callback]");
try {
callback(jsiRuntime);
// If we have first-class support for microtasks,
// they would've been called as part of the previous callback.
if (!ReactNativeFeatureFlags::enableMicrotasks()) {
if (auto timerManager = weakTimerManager.lock()) {
timerManager->callReactNativeMicrotasks(jsiRuntime);
}
} catch (jsi::JSError& originalError) {
handleJSError(jsiRuntime, originalError, true);
}
} catch (jsi::JSError& originalError) {
handleJSError(jsiRuntime, originalError, true);
}
});
}
@@ -118,14 +120,11 @@ ReactInstance::ReactInstance(
runtimeScheduler_ = std::make_shared<RuntimeScheduler>(runtimeExecutor);
auto pipedRuntimeExecutor =
bufferedRuntimeExecutor_ = std::make_shared<BufferedRuntimeExecutor>(
[runtimeScheduler = runtimeScheduler_.get()](
std::function<void(jsi::Runtime & runtime)>&& callback) {
runtimeScheduler->scheduleWork(std::move(callback));
};
bufferedRuntimeExecutor_ =
std::make_shared<BufferedRuntimeExecutor>(pipedRuntimeExecutor);
});
}
void ReactInstance::unregisterFromInspector() {