0
node.jsパッケージのreadlineを使ってコマンドラインでユーザー入力を取得しようとしています。入力した入力を約束してパイプしたいと思っています。しかし、入力は決して連鎖を経由しません。私はこの問題は、コールバックメソッドで約束が果たされたという事実から来ると思うが、私はその問題を解決する方法を知らない。Node.js約束の中のreadline
この問題の例は次のようになります。Node.jsの中で実行する場合
import rlp = require('readline');
const rl = rlp.createInterface({
input: process.stdin,
output: process.stdout
});
let prom = new Promise((fulfill, reject) => {
rl.question('Enter input: ', input => rl.close() && fulfill(input));
});
prom.then(result => {console.log(result); return prom})
.then(result => {console.log(result); return prom})
.then(result => console.log(result));
、質問は入力プログラムがちょうど停止して入力された後、一度表示されます。最初の入力が入力されるまで待ってから、この入力を印刷して次の入力を求めます。
ありがとうございます!
「while」ループ内に新しいものを作成するのではなく、まったく同じ約束事を再利用しようとしているのはなぜですか?私の答えはここを見てくださいhttps://stackoverflow.com/a/46488389/941240 –