diff --git a/plugins/c9.ide.language.jsonalyzer/worker/jsonalyzer_worker.js b/plugins/c9.ide.language.jsonalyzer/worker/jsonalyzer_worker.js index 70e25c88..fa87619c 100644 --- a/plugins/c9.ide.language.jsonalyzer/worker/jsonalyzer_worker.js +++ b/plugins/c9.ide.language.jsonalyzer/worker/jsonalyzer_worker.js @@ -118,23 +118,14 @@ worker.loadPlugin = function(modulePath, contents, callback) { return callback("Could not load language handler " + modulePath + ": " + e); } } - var handler; - try { - handler = require(modulePath); + + require([modulePath], function(handler) { if (!handler) - throw new Error("Unable to load required module: " + modulePath); - } catch (e) { - if (isInWebWorker) - return callback("Could not load language handler " + modulePath + ": " + e); - - // In ?noworker=1 debugging mode, synchronous require doesn't work - return require([modulePath], function(handler) { - if (!handler) - return callback("Could not load language handler " + modulePath); - callback(null, handler); - }); - } - callback(null, handler); + return callback("Could not load language handler " + modulePath); + callback(null, handler); + }, function(err) { + callback(err); + }); }; worker.handlesLanguage = function(language, part) { diff --git a/plugins/node_modules/ace/lib/ace/worker/worker_client.js b/plugins/node_modules/ace/lib/ace/worker/worker_client.js index 84d05b87..7df8f01b 100644 --- a/plugins/node_modules/ace/lib/ace/worker/worker_client.js +++ b/plugins/node_modules/ace/lib/ace/worker/worker_client.js @@ -213,7 +213,7 @@ var UIWorkerClient = function(topLevelNamespaces, mod, classname) { var processNext = function() { var msg = _self.messageBuffer.shift(); - if (msg.command) + if (msg.command && main[msg.command]) main[msg.command].apply(main, msg.args); else if (msg.event) sender._signal(msg.event, msg.data);