Node.js関数に問題があります。私はそれが単なる非同期の関数の問題であることはかなり確信していますが、私は確信したいと思います。私は、ユーザーが入力した特定のパスが存在するかどうかをチェックして有効かどうかを確認しています。node.jsでディレクトリチェックがfalseになる
var directoryExists = exports.directoryExists = function(filePath) {
return new Promise(function(resolve, reject) {
if (fs.statSync(filePath).isDirectory()){
resolve("Valid");
} else {
reject("Invalid");
}
});
}
これらは、関数への私の呼び出しです:
files.directoryExists(sourcePath).then((msg) => {
console.log(msg);
}).catch(function(){
console.error("Promise Rejected");
});
files.directoryExists(destPath).then((msg) => {
console.log(msg);
}).catch(function(){
console.error("Promise Rejected");
});
私は非同期プログラミングの全体のコンセプトに非常に新しいですので、これはかなりイライラになってきているお約束します。どんな助けもありがとう。
が良さそうですね。ディレクトリが存在するかどうか確認していますか? –
一見すると、間違っているとは思えませんが、 'fs.statSync'の代わりに' fs.stat'を使用しているはずだと付け加えたいと思います。あなたはすでに約束をしているので、非同期の 'fs.stat'を使うことができるように既に非同期であり、それがディレクトリであるかどうかを解決することができます。 –