2016-07-15 9 views
0

Ich habe eine Schleife wie folgt aus:ForEach aus einer Callback-Funktion weiter?

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

Rückruf-Callback-Funktion, die ausgelöst wird, wenn der Test ungültig ist. Ich wünsche eine Rückkehr zu tun, um die nächsten itteration zu bekommen, aber wenn ich

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

tue Es wird nur den Rückruf von der Callback-Funktion zurück.

+0

Können wir die Definition der isValid-Funktion sehen? – 10100111001

+0

in etwa so: if (isValid (test, callback)) {return;} bei Rückgabe von wahr/falsch von isvalid-Funktion –

Antwort

1

Überprüfen Sie den Rückgabewert von isValid. Wenn es wahr ist, dann return. Hier ist ein vereinfachtes Beispiel, da ich nicht Ihre gesamte Datensatz sehen:

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

 

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

Beachten Sie, dass „3“ wurde nicht an die Konsole angemeldet.