用 Node.js 写一个 CLI 问答小工具 支持从终端输入问题、返回回答 加上基础错误处理和 .env 读取 验收:本地 CLI 可以连续问答 3 次

```javascript
require('dotenv').config();
const botName = process.env.BOT_NAME;
const maxRounds = process.env.MAX_ROUNDS;

const rl = require('readline').createInterface({
    input:process.stdin,
    output:process.stdout,
})

function ask(promptText){
    return new Promise((resolve)=>{
        rl.question(promptText,resolve);
    })
}

function getAnswer(question){
    const text =question.trim();

    return `${botName}:你刚才问的是${text},我不知道怎么回答,但我会努力学习的.`;
}

async function main(){
    console.log(`已经启动${botName},最多可以循环${maxRounds}`)

    let round = 0;
   
    while(round < maxRounds){
      try { const question = await ask("你问的问题是")

        if(question.trim().toLowerCase() === 'exit'){
            console.log(`${botName} 退出`)
            break;
        }

        const answer = getAnswer(question);
        console.log(answer);
        round += 1;
    }catch(error){
        console.error(`程序出错了,${error.message}`)
    }
}
rl.close();
}

main().catch(error=>{
    console.error(`启动错误,${error.message}`)
    rl.close();
})

先半看半自己想写了一遍,然后又自己写了一遍,存在一点问题,首先是循环+1左右空格的问题,然后是question小写函数的大小写问题

posted @ 2026-03-27 16:53  超级码农n号  阅读(1)  评论(0)    收藏  举报