So I have a bunch of promises I'm trying to batch complete like so:
let promises = [];
let fixedValues = [];
let shouldIQuit = false;
let value = {
b: 1
};
promises.push(
new Promise(async (resolve, reject) => {
const shouldquit = await shouldIQuit(shouldIQuitValue);
if(shouldquit === true) {
const fixedValue = await Values.fixThisValue(value);
if(!fixedValue.a) {
resolve();
}
fixedValues.push(fixedValue);
}
resolve();
});
await Promise.all(promises);
the other functions can do anything, but I need both to be awaited. It should first call the shouldIquit
function, check that value, then await the result of fixThisValue
and then determine if that number should be put into the array or not, and I need to do this all in parallel.
However, I'm noticing that sometimes when fixedValue
comes back without fixedValue.a
and it successfully hits that resolve();
in the if, it still makes it down to push the fixed value into the array fixedValues
when it shouldn't. I'm thinking it's the async
in the promise creating a problem. Any help with that is much appreciated.