Skip to content

Instantly share code, notes, and snippets.

@mactive
Last active July 24, 2016 07:41
Show Gist options
  • Save mactive/0243dccb0d77a0440c8027fba0108683 to your computer and use it in GitHub Desktop.
Save mactive/0243dccb0d77a0440c8027fba0108683 to your computer and use it in GitHub Desktop.
ReactNative 异步+同步加载js 并执行
{
"remoteModuleConfig": [
[
"RCTJSCExecutor"
],
[
"RNActionView"
],
[
"RCTStatusBarManager"
],
[
"RCTSourceCode"
],
[
"RCTAlertManager"
],
[
"RCTExceptionsManager"
],
[
"RCTDevMenu"
],
[
"RCTAsyncLocalStorage"
],
[
"RCTViewManager"
],
[
"RCTProgressViewManager"
],
[
"RCTSwitchManager"
],
[
"RCTActivityIndicatorViewManager"
],
[
"RCTDatePickerManager"
],
[
"RCTPerfMonitor"
],
[
"RCTScrollViewManager"
],
[
"RCTTabBarManager"
],
[
"RCTAccessibilityManager"
],
[
"RCTDevLoadingView"
],
[
"RCTTiming"
],
[
"RCTAppState"
],
[
"RCTSliderManager"
],
[
"RCTClipboard"
],
[
"RCTPerformanceLogger"
],
[
"RCTNavItemManager"
],
[
"RCTKeyboardObserver"
],
[
"RCTTabBarItemManager"
],
[
"RCTMapManager"
],
[
"RCTWebViewManager"
],
[
"RCTSegmentedControlManager"
],
[
"RCTPickerManager"
],
[
"RCTRefreshControlManager"
],
[
"RCTRedBox"
],
[
"RCTEventDispatcher"
],
[
"RCTModalHostViewManager"
],
[
"RCTUIManager"
],
[
"RCTNavigatorManager"
],
[
"RCTActionSheetManager"
],
[
"RCTLocationObserver"
],
[
"RCTImageStoreManager"
],
[
"RCTImageViewManager"
],
[
"RCTGIFImageDecoder"
],
[
"RCTImageLoader"
],
[
"RCTImageEditingManager"
],
[
"RCTXCAssetImageLoader"
],
[
"RCTLinkingManager"
],
[
"RCTFileRequestHandler"
],
[
"RCTDataRequestHandler"
],
[
"RCTNetInfo"
],
[
"RCTNetworking"
],
[
"RCTHTTPRequestHandler"
],
[
"RCTSettingsManager"
],
[
"RCTTextManager"
],
[
"RCTRawTextManager"
],
[
"RCTTextFieldManager"
],
[
"RCTTextViewManager"
],
[
"RCTVibration"
],
[
"RCTWebSocketModule"
],
[
"RCTWebSocketExecutor"
]
]
}
dispatch_queue_t bridgeQueue = dispatch_queue_create("com.facebook.react.RCTBridgeQueue", DISPATCH_QUEUE_CONCURRENT);
dispatch_group_t initModulesAndLoadSource = dispatch_group_create();
// Asynchronously load source code
dispatch_group_enter(initModulesAndLoadSource);
__weak RCTBatchedBridge *weakSelf = self;
__block NSData *sourceCode;
[self loadSource:^(NSError *error, NSData *source) {
if (error) {
dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf stopLoadingWithError:error];
});
}
sourceCode = source;
dispatch_group_leave(initModulesAndLoadSource);
}];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment