Buduję aplikację przy użyciu meteor.js i MongoDB i mam pytanie dotyczące cursor.forEach(). Chcę sprawdzić niektóre warunki na początku każdej z nich dla każdej iteracji, a następnie pomiń element, jeśli nie muszę wykonywać operacji na nim, dzięki czemu mogę zaoszczędzić trochę czasu."kontynuuj" w cursor.forEach()
Oto mój kod:
// Fetch all objects in SomeElements collection
var elementsCollection = SomeElements.find();
elementsCollection.forEach(function(element){
if (element.shouldBeProcessed == false){
// Here I would like to continue to the next element if this one
// doesn't have to be processed
}else{
// This part should be avoided if not neccessary
doSomeLengthyOperation();
}
});
wiem, mogę włączyć kursor do tablicy za pomocą cursor.find() fetch(), a następnie użyć regularne dla pętli iteracyjne nad elementami i korzystać dalej i przerwa. normalnie, ale jestem zainteresowany, jeśli jest coś podobnego do użycia w forEach().
Czy wiesz, co może być "przerwa", a jeśli kontynuacja jest po prostu "powrót;". – Drag0
Nie używam MongoDB, więc nie czytałem jego dokumentacji, ale możliwe, że 'return false;' będzie odpowiednikiem 'break;' (jak to jest w przypadku pętli jQuery '.each()'). Oczywiście ktokolwiek wdrożył MongoDB '.forEach()' mógł mieć inne pomysły ... – nnnnnn
@ Drag0 Możesz użyć .some() jako zamiennika .forEach(), która pozwala ci zwrócić false, aby przerwać pętlę. – Andrew