Quick Answer
Handle memory exhaustion in JS.
Understanding the Issue
This error occurs when the JavaScript heap is exhausted, often from memory leaks or large data processing.
The Problem
This code demonstrates the issue:
Javascript
Error
const arr = [];
while(true) {
arr.push(new Array(1000000));
}
The Solution
Here's the corrected code:
Javascript
Fixed
// Solution 1: Process data in chunks
function processLargeData() {
const chunkSize = 1000;
for (let i = 0; i < hugeArray.length; i += chunkSize) {
const chunk = hugeArray.slice(i, i + chunkSize);
processChunk(chunk);
}
}
// Solution 2: Free memory
let largeData = getData();
process(largeData);
largeData = null; // Free reference
// Solution 3: Web Workers
// Offload heavy processing to separate thread
// Solution 4: Node.js memory increase
// node --max-old-space-size=4096 app.js
Key Takeaways
Optimize memory usage and process large data in chunks.