2012-01-15 75 views
1

我知道异步性是node.js的一半,它确实非常棒并且高效。但是在某些情况下,这种编程模式只是过度和困难。例如,如果你想编写一个脚本,它需要一些用户输入并用它来创建一个MySQL行并保存它(我刚刚完成了这个)。真的很烦人,必须为程序的每一个小步骤创建一个单独的函数,然后让它们全部相互调用。我应该如何着手强制node.js中的同步?

那么应该如何处理这种情况呢?我尝试了step,但它不能与coffee-script一起工作,因为它要求以传统方式声明函数(function foo() {/* Bar */})。咖啡脚本,而不是创建匿名函数,并将它们分配给局部变量(var foo = function() {/* Bar */}

我在想混合一个方法让等待回调运行的过程更简单。抛开异步性的争论,我会如何去做这件事?

回答

2

尝试https://github.com/caolan/async

的“大多数依赖于”包就行了http://search.npmjs.org/提供了深入了解库如何赞誉是节点社区内。 async排在第七位(依靠207个包)...

underscore 448 
coffee-script 341 
request  279 
express  268 
optimist  228 
connect  207 
async   207 
colors  199 
uglify-js  146 
socket.io  140 
redis   128 
jade   117 
jsdom   102 
commander  101 
mime   96 

避免使用CoffeeScript“不工作”的库;他们很麻烦。

+0

'async'提供了很多非常完美的东西,可以简化我慢下来的任务。感谢您的推荐! – Hubro 2012-01-15 09:46:02

0

这取决于你在做什么,但Node.js中的几个核心方法具有同步版本,如readFileSync

如果您正在处理没有同步版本的方法,则应该查看步骤的替代方法,如async.js

相关问题