home

article

nodejs: 随想javascript并行调用带callback的异步函数

先看看本文基于的一个应用场景

nodejs: 随想javascript并行调用带callback的异步函数

先看看本文基于的一个应用场景

用户发表评论

  1. 允许用户发表文字评论,并且可以带附件。
  2. 服务器端处理需要认证用户是否登录;
  3. 需要将文字评论保存到数据库,附件以文件形式保存在服务器上;

实现1:串行callback

实现2:并行callback

实现3:去除冗余

实现4:实现3的改进?闭包?function()

结论

有爱

^_^ 希望本文对你有用。

Without the async module

var files = ["file1", "file2", "file3"],
  results = [],
  completed = 0;

files.forEach(function (f) {
  path.exists(f, function (exists) {
    if (exists) results.push(f);
    completed++;
    if (completed == files.length) {
      if (results) {
        sys.puts("The following files already exist: " + results);
      }
    }
  });
});
Thank you for reading, and have a great day!

Comments