Tôi đang xây dựng một ứng dụng bằng cách sử dụng meteor.js và MongoDB và tôi có một câu hỏi về cursor.forEach(). Tôi muốn kiểm tra một số điều kiện khi bắt đầu mỗi lần lặp lại và sau đó bỏ qua phần tử nếu tôi không phải thực hiện thao tác trên nó để tôi có thể tiết kiệm thời gian."tiếp tục" trong cursor.forEach()
Đây là mã của tôi:
// 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();
}
});
Tôi biết tôi có thể biến con trỏ đến mảng sử dụng cursor.find() lấy() và sau đó sử dụng thường xuyên cho vòng lặp để lặp qua các yếu tố và sử dụng tiếp tục và nghỉ ngơi. bình thường nhưng tôi quan tâm nếu có cái gì đó tương tự để sử dụng trong forEach().
Bạn có biết những gì có thể là "phá vỡ" sau đó nếu tiếp tục chỉ là "trở lại;". – Drag0
Tôi không sử dụng MongoDB vì vậy đã không đọc tài liệu của nó, nhưng có thể là 'return false;' sẽ là tương đương với 'break;' (vì nó là cho một vòng lặp jQuery '.each()'). Tất nhiên bất cứ ai đã triển khai '.forEach()' của MongoDB có thể có các ý tưởng khác ... – nnnnnn
@ Drag0 Bạn có thể sử dụng .some() như là một thay thế cho .forEach(), cho phép bạn trả về false để phá vỡ vòng lặp. – Andrew