Is there a callback for when underscore is finished it's _.each
loop because if I console log
immediately afterwards obviously the array I am populating with the each loop is not available. This is from a nested _.each
loop.
_.each(data.recipe, function(recipeItem) {
var recipeMap = that.get('recipeMap');
recipeMap[recipeItem.id] = { id: recipeItem.id, quantity: recipeItem.quantity };
});
console.log(that.get('recipeMap')); //not ready yet.
The
each
function in UnderscoreJS is synchronous which wouldn't require a callback when it is finished. One it's done executing the commands immediately following the loop will execute.If you are performing async operations in your loop, I would recommend using a library that supports async operations within the each function. One possibility is by using AsyncJS.
Here is your loop translated to AsyncJS:
Another option is to build your callback function into the each loop on the last execution:
Edit to add:
I don't know what your input/output data looks like but you might consider using
_.map
instead, if you're just transforming / rearranging the contents