首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地为节点在异步eachSeries中获得结果数组?

如何正确地为节点在异步eachSeries中获得结果数组?
EN

Stack Overflow用户
提问于 2015-06-06 15:32:30
回答 2查看 380关注 0票数 0

我正在尝试使用异步eachSeries,以便对每个类别的报表计数进行编码。类别和报告并存储在单独的集合中,然后我首先获取可用的类别并对它们执行计数搜索。

这是我的密码:

代码语言:javascript
复制
    Category.find({},{_id:0, name: 1}, function (err, foundCategories) {
        async.eachSeries(foundCategories,
            function (item,callback) {
                Report.count({category: item.name}, function (err,count) {
                    var name = item.name;
                    console.log(count);
                   return callback(null,{name: count});
                });
            }
        ,function (err, results) {

            if (err)
                response.send(err);
            response.send(JSON.stringify(results));
        });
    });

问题是我什么也没收到,console.log输出的是实际数字,我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-06 16:40:18

eachSeries的API不为最终的回调提供任何结果--只在失败的情况下提供错误。在成功的例子中,它只是一个纯粹的控制流"eachSeries已完成“的指示符,但没有提供从worker函数传递值的机制。mapSeries确实提供了所需的功能。

票数 3
EN

Stack Overflow用户

发布于 2015-06-07 15:44:42

与Peter的答案类似,async.waterfall为您提供了瀑布执行函数,同时将返回值传递给瀑布链中的下一个异步函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30684606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档