想要将变量传递给node async的map方法

时间:2013-05-08 02:17:34

标签: javascript node.js function asynchronous

我正在使用节点异步,我想将变量传递给它在第二个参数中使用的方法......例如:

  async.map(submissions, addScore, function(err, submissions) {
    if (submissions) {
      return submissions;
    }
  });

我想将userIdaddScore一起传递,但我不确定如何执行此操作。

addScore是我在每次提交时调用的方法,它需要userId

1 个答案:

答案 0 :(得分:5)

您可以使用闭包将userId放入addScore函数范围:

var createAddScore = function(userId){
    return function(val){
        // do something with userID and val
    }
}

然后:

async.map(submissions, createAddScore(1), function(err, submissions) {
    if (submissions) {
        return submissions;
    }
});