fc9c53d621
Summary: Because we use the `PromiseWrapper` struct, we need to explicitly manage its lifecycle to ensure that it doesn't clear before the promise methods are invoked by the ObjC Runtime. This `PromiseWrapper` struct is unnecessary. We could just not have it and create the CallbackWrappers for resolve and reject within the `createPromise` function. Therefore, I moved all the logic from `PromiseWrapper` to the `RCTTurboModule::createPromise` function. In the next diff, I'm going to keep a track of all the CallbackWrappers we create in instances of RCTTurboModule, and `destroy()` them in the destructor of RCTTurboModule. This should make sure that all `jsi::Function`s are released before we delete the `jsi::Runtime`, which should prevent Marketplace from crashing when we hit CMD + R. See: https://fb.workplace.com/groups/rn.support/permalink/2761112713937326/. Reviewed By: fkgozali Differential Revision: D17208729 fbshipit-source-id: ce80c9c01088f0e3dc47c7c29397b7a197d699ce |
||
---|---|---|
.. | ||
better | ||
config | ||
cxxreact | ||
fabric | ||
hermes/inspector | ||
jscallinvoker | ||
jsi | ||
jsiexecutor | ||
jsinspector | ||
microprofiler | ||
turbomodule | ||
utils | ||
yoga | ||
React-Fabric.podspec | ||
ReactCommon.podspec |