我正在尝试使用node.js包readline在命令行上获取用户输入,并希望通过promise管道传递输入,但是输入从未通过then链传递。我认为问题可能来自于promises在回调方法中被执行,但我不知道如何解决这个问题。
这个问题的一个例子看起来像这样:
如果在node.js中运行,问题将只会出现一次,输入完成后程序就会停止。我希望它能等待第一个输入完成,然后打印这个输入并要求下一个输入。
提前感谢!
这个问题的一个例子看起来像这样:
import rlp = require('readline');
const rl = rlp.createInterface({
input: process.stdin,
output: process.stdout
});
let prom = new Promise(resolve => {
rl.question('Enter input: ', input => rl.close() && resolve(input));
});
prom
.then(result => { console.log(result); return prom; })
.then(result => { console.log(result); return prom; })
.then(result => console.log(result));
提前感谢!