(javascriptから変換された)ディレクトリを再帰的にリストするために、coffeescriptに次のコードがあります。
fs = require 'fs'
walk = (dir, done) ->
results = []
fs.readdir dir, (err, list) ->
return done(err) if err
pending = list.length
return done(null, results) unless pending
list.forEach (file) ->
file = "#{dir}\\#{file}"
fs.stat file, (err, stat) ->
if stat and stat.isDirectory()
walk file, (err, res) ->
results = results.concat(res)
done null, results unless --pending
else
results.push file
done null, results unless --pending
walk __dirname, (err, results) ->
throw err if err
console.log results
ご覧list.forEach (file) ->
のとおり、私は使用していて、機能しています。しかし、それを置き換えようとするとfor file in list
、正しく機能しません。私は何を間違えますか?