【发布时间】:2019-06-27 02:29:23
【问题描述】:
我正在使用提示模块,节点版本 12.4.0
我想知道是否可以将字符串推送到 prompt.get()
以下脚本显示一个(双)“提示:”
5 秒后,它会插入文本“这是一个测试”
当给出输入命令时,字符串不会被识别为输入。
在按 Enter 之前也无法编辑字符串。
(在 5 秒前输入任何内容并按回车,输入将显示)
最终目标:让命令从外部来源发送到提示,但让最终用户能够在输入之前修改命令。
我试过 process.stdout.write,process.stdin.write
我还尝试将 process.std*.write 替换为 prompt.std*.write
答案可能是特定于操作系统的,但我在 Win10 x64 和 Linux 下都尝试过这段代码
const prompt = require("prompt");
function myFunc() {
process.stdin.write("This is a test");
}
setTimeout(myFunc, 5000);
prompt.get({
properties: {
test: {
description: "prompt"
}
}
}, (err, result)=> {
console.log("input: "+ result.test);
});
实际结果:
~/Nodejs/temp$ 节点 index.js
提示:提示:这是一个测试
输入:
~/Nodejs/temp$
想要的结果:
~/Nodejs/temp$ 节点 index.js
提示:提示:这是一个测试
输入:这是一个测试
~/Nodejs/temp$
【问题讨论】: