如何在异步处理函数期间解析对象?

时间:2013-03-30 14:08:08

标签: javascript node.js asynchronous seq

如果我想在two_objects上调用seqEach,我该怎么办:

Seq()
    .seq(function() {
      pivotal.getProjects(this);
    })
    .flatten()
    .seqEach(function(data) {
      var project_ids = data.project.map(function(x) { return parseInt(x.id); })
      console.log('project_ids: '.red + project_ids );
      // pivotal.getStories(project.id, { filter: "state:finished" }, this);
    })
    .seq(function() {
        var aggregatedStories = [];
        Hash.map(this.args, (function(arg) {
            aggregatedStories.push(arg[0]);
        }));
        res.send(aggregatedStories);
    });

日志:

project_ids: 644511,340755

pivotal.getProjects(this);

返回类似

的内容

{"project": { "id": 644511}, { "id": 340755} }

问题是因为data应该被data.project替换,但该如何做?

1 个答案:

答案 0 :(得分:1)

  

问题是因为data应该被data.project替换,但该如何做?

要么在data = data.project;回调之上添加行seqEach,要么注入映射函数,如

.map(function(d) { return d.project; })

进入你的链条。或者您只需更改pivotal.getProjects方法...