本文整理汇总了TypeScript中embark.Events.request方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Events.request方法的具体用法?TypeScript Events.request怎么用?TypeScript Events.request使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类embark.Events
的用法示例。
在下文中一共展示了Events.request方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: executeCmd
private executeCmd(cmd: string, callback: any) {
// if this is the embark console process, send the command to the process
// running all the needed services (ie the process running `embark run`)
if (this.isEmbarkConsole) {
return this.ipc.request("console:executeCmd", cmd, callback);
}
if (!(cmd.split(" ")[0] === "history" || cmd === __("history"))) {
this.saveHistory(cmd);
}
const plugins = this.plugins.getPluginsProperty("console", "console");
const helpDescriptions = [];
for (const plugin of plugins) {
if (plugin.description) {
helpDescriptions.push({
description: plugin.description,
matches: plugin.matches,
usage: plugin.usage,
});
}
if (plugin.matches) {
const isFunction = typeof plugin.matches === "function";
if ((isFunction && plugin.matches.call(this, cmd))
|| (!isFunction && plugin.matches.includes(cmd))) {
return plugin.process.call(this, cmd, callback);
}
continue;
}
const pluginResult = plugin.call(this, cmd, {});
if (typeof pluginResult !== "object") {
if (pluginResult !== false && pluginResult !== "false" && pluginResult !== undefined) {
this.logger.warn("[DEPRECATED] In future versions of embark, we expect the console command to return an object " +
"having 2 functions: match and process." +
" The documentation with example can be found here: https://embark.status.im/docs/plugin_reference.html#embark-registerConsoleCommand-callback-options");
return callback(null, pluginResult);
}
} else if (pluginResult.match()) {
return pluginResult.process(callback);
}
}
const output = this.processEmbarkCmd(cmd, helpDescriptions);
if (output) {
return callback(null, output);
}
this.events.request("runcode:eval", cmd, (err: Error, result: any) => {
if (err) {
return callback(err.message);
}
callback(null, result);
}, true);
}
示例2: next
(next: any) => {
if (this.isEmbarkConsole) {
return next();
}
const connectCode = `EmbarkJS.Blockchain.connectConsole((err) => {
if(err) throw new Error("[VM]: Error connecting to blockchain. " + err);
});`;
this.events.request("runcode:eval", connectCode, (err: Error, _result: any) => {
cb(err);
});
},
示例3: setTimeout
(next: any) => {
const waitingForReady = setTimeout(() => {
this.logger.warn(__("Waiting for the blockchain connector to be ready..."));
// TODO add docs link to how to install one
this.logger.warn(__("If you did not install a blockchain connector, stop this process and install one"));
}, 5000);
this.events.request("blockchain:connector:ready", () => {
clearTimeout(waitingForReady);
next();
});
},
示例4:
// wait for the VM to be setup
(next: any) => {
this.events.request("runcode:ready", next);
},