求助关于 JavaScript 的异步

2013-02-08 19:12:55 +08:00
 Sin
目的是想把一堆文件里的 json 对象合并起来,代码像这样:

dict = {}
fileArray.map (f) ->
 fs.readFile f, (err, data) ->
  json.parse data, (k, v) ->
   console.log k,v
    dict[k] = v

现在想把 dict 对象写到文件里去,要怎么做呢?
感觉异步这种东西真反人类啊,求推荐点这方面的书……

另外话说为什么 v2ex 为什么不能缩进……
3538 次点击
所在节点    Node.js
10 条回复
Sin
2013-02-08 19:21:06 +08:00
最后一行缩进错了……

@livid 能不能把空格转码一下,方便缩进代码……
luin
2013-02-08 19:32:26 +08:00
可以看一下Async.js的forEach和Underscore的after。另外我觉得应该用forEach而不是map,因为代码中并没有用到map的返回值。

json.parse是啥?
Sin
2013-02-08 19:52:07 +08:00
@luin 谢谢~
json = require 'JSON'
不大懂 js, 随手搜来的……
不知道有没有其他方法
luin
2013-02-08 19:55:21 +08:00
ECMAScript 5标准里定义了JSON这个东西,所以在node里可以直接用。
JSON.parse('{"s": 1}')
Frannk
2013-02-08 21:56:43 +08:00
asyncjs 有改进的map方法
zythum
2013-02-10 16:30:53 +08:00
coffee 太反人类了。
aveline
2013-02-10 17:01:36 +08:00
@zythum 特别是在习惯了 JavaScript 之后
arzusyume
2013-02-11 10:03:27 +08:00
@zythum 习惯了coffee后总是带着批判主义的眼光去写原生js了
Kai
2013-02-11 11:24:04 +08:00
可以使用 Gist 贴代码。

https://gist.github.com
dreampuf
2013-02-11 14:42:58 +08:00
搭配其他workflow 的框架。
没有内建关键字帮助的情况下,写异步程序总是违反正常思路的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/60107

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX