Я только привыкаю к программированию Node, но я столкнулся с этой проблемой выполнения, в которой я немного запутался.
Я пытаюсь проверить, существует ли путь записи, и если он существует, то запросить ввод у пользователя.
function testPath(fileName) {
fs.exists(path.resolve('.', fileName), function(exists) {
//the filepath already exists, ask for user confirmation
if(exists) {
process.stdin.on('keypress', function (str, key) {
//print result of keypress to console
console.log("str: ", str, " key: ", key);
if ((str.toLowerCase() == "n") || (~["y", "n"].indexOf(str.toLowerCase()))) {
return false;
}
else {
return true;
}
});
}
else {
//the filepath does not already exist - return true
return true;
}
console.log("Filename in the target directory already exists, would you like to overwrite? (y/n)");
});
}
Эта функция в целом будет разрешена (или нет) с помощью вызова, вызванного для нее.
Сообщение пользователю и ожидание нажатия клавиши, кажется, действуют правильноно он зацикливается и никогда не возвращается даже при действительном нажатии клавиши, кто-нибудь знает, почему это будет?