2016-07-15 90 views
0

我有一個循環是這樣的:從回調函數中繼續forEach?

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

回調如果測試無效時被觸發回調函數。我希望做一回進入下一個itteration,但如果我不

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

它只會從回調函數返回的回調。

+0

我們可以看到isValid函數的定義嗎? – 10100111001

+0

這樣的事情:if(isValid(test,callback)){return;} while isvalid function is true/false from isvalid function –

回答

1

檢查isValid的返回值。如果是,則return。下面是一個簡單的例子,因爲我沒有看到你的整個數據集:

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

 

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

注意,「3」並沒有記錄到控制檯。