Merge pull request #731 from embark-framework/features/await-console

simple implementation of await in the console
This commit is contained in:
Iuri Matias 2018-08-23 14:53:13 -04:00 committed by GitHub
commit 7bd3202ad5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -41,7 +41,22 @@ class CodeRunner {
if (!cb) {
cb = function() {};
}
const awaitIdx = code.indexOf('await');
if (awaitIdx > -1) {
if (awaitIdx < 2) {
let end = code.length;
if (code[end - 1] === ';') {
end--; // Remove the `;` because we add function calls
}
code = code.substring(5, end); // remove await keyword
} else {
code = `(async function() {${code}})();`;
}
}
let result = RunCode.doEval(code);
if (result instanceof Promise) {
return result.then((value) => cb(null, value)).catch(cb);
}
if (forConsoleOnly && self.ipc.isServer()) {
self.commands.push({code});
self.ipc.broadcast("runcode:newCommand", {code});