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 –