防止 node.js 应用程序在进程完成后退出
Prevent node.js application from exiting once the process is done
我写了一个非常基本的 nodejs 应用程序,如下所示:
#!/usr/bin/env node
const inquirer = require("inquirer");
const chalk = require("chalk");
const figlet = require("figlet");
const shell = require("shelljs");
const fs = require('fs');
//Defining some functions
//~~
//The main part of the code
const run = async function() {
const answers = await form();
//other codes
//~~
}
run();
代码的主要目的是使用 inquirer
模块在控制台中提出一些问题,然后在 run()
部分处理答案。它在这方面做得很好。它成功地提出了问题,并根据答案做了它应该做的事情。
但是,一旦处理完答案,该过程就会退出。我想要的是一旦答案被处理,我希望它再次回答同样的问题,并不断重复直到我手动终止该过程。
我试过这个:
for( ; ; ) {
run();
}
但是,它会在不等待答案的情况下一次又一次地回答问题。这是控制台的样子:
console output
我想让它做这些:
- 提出问题,等我输入答案。
- 处理问题(使用
run()
中的代码)
- 完成后,返回问题 1。
我该怎么做?
而不是做
for( ; ; ) {
run();
}
在 run
函数中执行此操作
while (true) {
const answers = await form();
//other codes
//~~
}
我写了一个非常基本的 nodejs 应用程序,如下所示:
#!/usr/bin/env node
const inquirer = require("inquirer");
const chalk = require("chalk");
const figlet = require("figlet");
const shell = require("shelljs");
const fs = require('fs');
//Defining some functions
//~~
//The main part of the code
const run = async function() {
const answers = await form();
//other codes
//~~
}
run();
代码的主要目的是使用 inquirer
模块在控制台中提出一些问题,然后在 run()
部分处理答案。它在这方面做得很好。它成功地提出了问题,并根据答案做了它应该做的事情。
但是,一旦处理完答案,该过程就会退出。我想要的是一旦答案被处理,我希望它再次回答同样的问题,并不断重复直到我手动终止该过程。
我试过这个:
for( ; ; ) {
run();
}
但是,它会在不等待答案的情况下一次又一次地回答问题。这是控制台的样子: console output
我想让它做这些:
- 提出问题,等我输入答案。
- 处理问题(使用
run()
中的代码) - 完成后,返回问题 1。
我该怎么做?
而不是做
for( ; ; ) {
run();
}
在 run
函数中执行此操作
while (true) {
const answers = await form();
//other codes
//~~
}