5
Có hơn 2000 đối tượng trong mảng hàng cần được xử lý nhưng có lỗi Maximum call Stack beyond.Callback function đang thao tác cơ sở dữ liệu. Tôi cố gắng để sử dụngNodejs RangeError Maximum Call stack vượt quá
setTimeout
rằng đang làm việc nhưng làm cho việc thực hiện chậm. Có phương pháp nào khác để sửa chữa nó không.
var updateRowsStatus = function (req, rows, next) {
if (rows.length == 0) {
return next();
}
var batchRows = rows.splice(0, 20);
var count = 0;
batchRows.forEach(function (row) {
// other function
updateSubEntity(req, row, 'rows', function (err, response) {
if (err)throw err;
if (++count == batchRows.length) {
updateRowsStatus(req, rows, next);
}
});
});
};
Bạn đang sử dụng hàm đệ quy (một hàm tự gọi). Bạn có thể nghĩ ra cách để thực hiện việc xử lý tương tự mà không có mẫu đó không? – joews
Đệ quy hoặc vòng lặp để xử lý các hoạt động db luôn là một ý tưởng tồi. – Lewis
Vui lòng đề xuất giải pháp tốt nhất. – Rohit