當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript Events.request方法代碼示例

本文整理匯總了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);
  }
開發者ID:iurimatias,項目名稱:embark-framework,代碼行數:55,代碼來源:index.ts

示例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);
   });
 },
開發者ID:iurimatias,項目名稱:embark-framework,代碼行數:11,代碼來源:index.ts

示例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();
   });
 },
開發者ID:iurimatias,項目名稱:embark-framework,代碼行數:11,代碼來源:index.ts

示例4:

 // wait for the VM to be setup
 (next: any) => {
   this.events.request("runcode:ready", next);
 },
開發者ID:iurimatias,項目名稱:embark-framework,代碼行數:4,代碼來源:index.ts


注:本文中的embark.Events.request方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。