[Solved] Console log outputs one too many times on function


From the code you’ve provided, it looks like the problem stems from your if statement that checks for a blank image:

if (pixels[3] == 0) {
    // blank image - retry
    return test (dx, dy, w, h);
}

If the condition is met, test() will get called, so if a blank image is produced multiple times, you could end up with the function being called more than you anticipated.

To see if this is where the problem lies, insert a console.log statement so you can see how often this condition evaluates to true, thus calling test().

Something like this would work:

if (pixels[3] == 0) {
    // blank image - retry
    console.log('blank image... calling test()');
    return test (dx, dy, w, h);
}

Then you could see how often test() is being called as a result of that if check.

solved Console log outputs one too many times on function