viv*_*nov 5 syntax node.js coffeescript
我在coffeescript中有以下代码以递归方式列出目录(从javascript转换):
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
Run Code Online (Sandbox Code Playgroud)
正如你所看到我正在使用list.forEach (file) ->它并且它正在工作.但是当我尝试用它替换它时,for file in list它无法正常工作.我做错了什么?
小智 9
你在循环中定义一个函数.JS中常见的陷阱.你需要关闭迭代器.
for file in list then do (file) =>
| 归档时间: |
|
| 查看次数: |
6223 次 |
| 最近记录: |