在调试nodejs程序时遇到一个问题:
我有一段使用process.stdin获取键盘输入的代码
import { stdin } from "process";
export default function readLineSync(): Promise<string> {
return new Promise<string>((resolve, reject) => {
stdin.resume()
stdin.setEncoding("utf8");
stdin.on("data", function (chunk) {
stdin.pause();
resolve(chunk.toString());
});
});
}
(async function() {
console.log("输入字符:");
const text = await readLineSync();
console.log(`text: ${text}`)
})();
使用vscode调试功能的时候无法在控制台中输入文字(因为开启的是调试控制台,实际上并非终端):
而在终端中运行没有问题:
但我又需要vscode调试中的断点和查看变量之类的功能而不得不用它,所尝试了下,可以通过stdin的push方法将所需要的值传进去: