1 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
將專用readline模塊的功能包裝在 promises 中可能仍然是最好的方法。這里我們模擬 Pythoninput和 C++ 的getline功能。
請(qǐng)注意,節(jié)點(diǎn)事件不僅具有on功能,而且具有once功能。
// input.js
const readline = require('readline');
const cmd = readline.createInterface({
input: process.stdin,
output: process.stdout
});
/**
* Emulate Python's `input` function.
*/
export async function input(prompt) {
return new Promise(r => cmd.question(prompt, r));
}
/**
* Emulate C++'s `getline` function.
*/
export async function getline() {
return new Promise(r => cmd.once('line', r));
}
// main.js
async function main() {
const x = await input('What is x?');
console.log('x is', x);
console.log('What is y?');
const y = await getline();
console.log('y is', y);
}
main();
添加回答
舉報(bào)