从回调函数内继续forEach?

时间:2016-07-15 15:37:55

标签: javascript

我有一个这样的循环:

attributes.forEach((attribute) => {
    if(Boolean( q[attribute] )){
        test = req.assert(attribute, 'required').optional().notEmpty();
        isValid(test, callback)
        req.user.setAttribute(attribute, q[attribute]);
    }
});

回调是回调函数,如果测试无效则会触发该函数。我想回到下一步,但如果我做了

isValid(test, function(){
    return;
})

它只会从回调函数返回回调。

1 个答案:

答案 0 :(得分:1)

检查isValid的返回值。如果是,那么return。这是一个简化的示例,因为我没有看到您的整个数据集:

function isThree(num) {
  return (num == 3);
}


[0, 1, 2, 3, 4].forEach(num => {
  if (isThree(num)) {
    return
  }
  console.log(num);
})

请注意,“3”未记录到控制台。