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

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


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

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

最佳答案

您可以使用闭包将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;
    }
});

09-27 04:54