Альтернативный способ перейти в JS - PullRequest
0 голосов
/ 25 июня 2019

Итак, я работаю над панелью управления с помощью js, используя npm.В настоящее время я в растерянности из-за того, как, из-за отсутствия лучшего термина, сбросить половину кода.Я пытаюсь сделать так, чтобы при вводе команды она возвращалась в меню, не запуская ее новый экземпляр.

Код, который у меня пока есть:

( async function main() {

  for (var d in dirs) {
    dir("parent", `${dirs[d]}`);
  }

  //Filler code to only be ran once.

   //Wanted Re-entry Point
  info(`Please Enter A Command!\nOr Enter 'Help'!`);

  var rep = await query(`\nCommand: `);
  rep = rep.toLowerCase();

  switch(rep) {
    case "help":

      var help = require("./Commands/Help.js");
      help.CmdList();
      //Go back to Re-Entry Point
      break;

    case "Start Server":
      //Menu stuff
      //Go to Re-Entry
      break;

    case "Stop Server":

      break;

    case "Create Server":

      break;

    case "Delete Server":

      break;

    default:
      warn("Unknown Command!!");
      break;
  }

})();

Дело в том, что я не хочу, чтобы он перезагружался в начале, потому что я собираюсь в конечном итоге добавить вещи в начале, которые я хочу запустить только один раз.Помимо модуляции, как я могу этого достичь?

1 Ответ

0 голосов
/ 25 июня 2019

Вы уже предоставили ответ самостоятельно: используйте именованный IIFE, затем вы можете вызвать функцию при необходимости:

  (function main() {
      const stay = "value";
      (function reentry() {
          const fresh = Math.random();
          console.log(stay, fresh);

          if(prompt("again?")) reentry();
      })();
  })();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...