mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Only retry ViewCommand mount items if exception is marked as "Retryable"
Summary: Instead of just blindly retrying all ViewCommands if they fail - which could be dangerous, since it's arbitrary imperative commands we'd be executing twice, potentially with bad app state - we only retry if the ViewCommand throws a "RetryableMountingLayerException". Changelog: [Internal] Optimization to ViewCommands Reviewed By: mdvacca Differential Revision: D20529985 fbshipit-source-id: 0217b43f4bf92442bcc7ca48c8ae2b9a9e543dc9
This commit is contained in:
committed by
Facebook GitHub Bot
parent
7561adac77
commit
0fe548aa2a
+26
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
package com.facebook.react.bridge;
|
||||
|
||||
/**
|
||||
* ViewCommands can throw this Exception. If this is caught during the execution of a ViewCommand
|
||||
* mounting instruction, it indicates that the mount item can be safely retried.
|
||||
*/
|
||||
public class RetryableMountingLayerException extends RuntimeException {
|
||||
public RetryableMountingLayerException(String msg, Throwable e) {
|
||||
super(msg, e);
|
||||
}
|
||||
|
||||
public RetryableMountingLayerException(Throwable e) {
|
||||
super(e);
|
||||
}
|
||||
|
||||
public RetryableMountingLayerException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user