diff --git a/Libraries/Utilities/BackHandler.android.js b/Libraries/Utilities/BackHandler.android.js index d8ca9b5eb..21e320c5e 100644 --- a/Libraries/Utilities/BackHandler.android.js +++ b/Libraries/Utilities/BackHandler.android.js @@ -23,9 +23,9 @@ type BackPressEventName = $Enum<{ var _backPressSubscriptions = new Set(); RCTDeviceEventEmitter.addListener(DEVICE_BACK_EVENT, function() { - var backPressSubscriptions = new Set(_backPressSubscriptions); var invokeDefault = true; - var subscriptions = [...backPressSubscriptions].reverse(); + var subscriptions = Array.from(_backPressSubscriptions.values()).reverse(); + for (var i = 0; i < subscriptions.length; ++i) { if (subscriptions[i]()) { invokeDefault = false; diff --git a/Libraries/Utilities/BackHandler.ios.js b/Libraries/Utilities/BackHandler.ios.js index 958ec69e5..7c9a00ecc 100644 --- a/Libraries/Utilities/BackHandler.ios.js +++ b/Libraries/Utilities/BackHandler.ios.js @@ -61,9 +61,9 @@ if (Platform.isTVOS) { _tvEventHandler.enable(this, function(cmp, evt) { if (evt && evt.eventType === 'menu') { - var backPressSubscriptions = new Set(_backPressSubscriptions); var invokeDefault = true; - var subscriptions = [...backPressSubscriptions].reverse(); + var subscriptions = Array.from(_backPressSubscriptions.values()).reverse(); + for (var i = 0; i < subscriptions.length; ++i) { if (subscriptions[i]()) { invokeDefault = false;