こちら
node.js ファイル一覧を取得する
を参考にNode.jsでファイル検索をし、見つかったら何かしらの処理をしたいのですが
JavaScript
1const fs = require('fs') 2 3const exists = ( reg ) => { 4 5 fs.readdir('.', function(err, files){ 6 7 const fileList = files.filter(function(file){ 8 9 return fs.statSync(file).isFile() && reg.test(file) 10 }) 11 12 if ( 0 < fileList.length ) { 13 14 console.log('あった') 15 return true 16 } 17 else { 18 19 console.log('なかった') 20 return false 21 } 22 }) 23} 24 25//テキストファイルがあるかどうか調べる 26if( !exists( /.*.txt$/ ) ) { 27 28 console.log('なかったので終わり') 29} 30else { 31 32 console.log('あったときの処理') 33} 34
これを実行してみると、たとえ目的のファイルがあったとしてもコンソールには
なかったので終わり あった
と表示されてしまいます
おそらく同期・非同期に関する問題が発生しているのだとは思いますが…
どうすればよいでしょうか
async/awaitとかでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。