【问题标题】:Is async.series the same as event driven codeasync.series 是否与事件驱动代码相同
【发布时间】:2013-11-28 13:21:14
【问题描述】:

我正在为我的应用程序使用节点 js。并有例如这样的代码:

userProvider.uploadImage(formData.imageSmall, 'full', function(err) {
         if (err) throw err;
         userProvider.uploadImage(formData.image, 'small', function (err) {
                  if (err) callback(err);
                  res.send("images loaded");
         });
});

这是否与:

async.series([
        function(callback) {
                   userProvider.uploadImage(formData.image, 'full', function (err) {
                           if (err) callback(err);
                               callback();
                    });
        },
        function(callback) {
                   userProvider.uploadImage(formData.imageSmall, 'small', function(err){
                           if (err) callback(err);
                               callback();
                   });
        }
],
        function(err) {
                   if (err) throw err;
                   res.send("images loaded");
        }
);

这两个版本的代码是否在做同样的事情?我可以认为第二个版本是非阻塞的吗?

【问题讨论】:

    标签: node.js asynchronous express


    【解决方案1】:

    是的,它们的工作方式应该相同。是的,它是非阻塞的。如果您在两个当前代码块下方添加一个 console.log,它将在 uploadImage 竞争之前执行。 Async.series 只是一种避免过度混淆回调的方法。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-02
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 2021-01-21
    • 2010-09-09
    相关资源
    最近更新 更多