diff --git a/lib/extensions.js b/lib/extensions.js index c8f3d339..8e8e838a 100644 --- a/lib/extensions.js +++ b/lib/extensions.js @@ -49,9 +49,13 @@ module.exports = function(realmConstructor) { reject(error); } - let syncedRealm = new realmConstructor(config); - //FIXME: RN hangs here. Remove when node's makeCallback alternative is implemented - setTimeout(() => { resolve(syncedRealm); }, 1); + try { + let syncedRealm = new this(config); + //FIXME: RN hangs here. Remove when node's makeCallback alternative is implemented + setTimeout(() => { resolve(syncedRealm); }, 1); + } catch (e) { + reject(e); + } }); }); }, @@ -62,9 +66,13 @@ module.exports = function(realmConstructor) { callback(error); } - let syncedRealm = new realmConstructor(config); - //FIXME: RN hangs here. Remove when node's makeCallback alternative is implemented - setTimeout(() => { callback(null, syncedRealm); }, 1); + try { + let syncedRealm = new this(config); + //FIXME: RN hangs here. Remove when node's makeCallback alternative is implemented + setTimeout(() => { callback(null, syncedRealm); }, 1); + } catch (e) { + callback(e); + } }); }, }));