my code :
const readline = require('readline');
function scan(callback) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
prompt: '> ',
});
rl.prompt();
rl.on('line', (line) => {
callback(line);
rl.close();
}).on('close', () => {
process.exit(0);
});
}
scan(data => {
console.log('data: ', data); // can console
});
I used callback and it can console data that u input , but it will not console when i use promise:
function scan() {
return new Promise((resolve, reject) => {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
prompt: '> ',
});
rl.prompt();
rl.on('line', (line) => {
resolve(line);
rl.close();
}).on('close', () => {
process.exit(0);
});
});
}
scan().then(data => {
console.log('data: ', data); // can not console
});
what occurred to this ? what's different between callback and promise ?