There might be a better way to do this, right now it might go many times through the same promises. Since the promises are pushed to the array, you could save the length of the array in a separate variable and initialize it the first time `_whenRenderedResolve` is called. Decrease the value by one when splice is called and just check if the length of the array is different to the saved length before calling `_whenRenderedResolve` here. If it is, you know that new elements where added to the array, you would then saved the new length and call `_whenRenderedResolve` where you could pass the last index, and do a normal for to just call the last new elements, or just do a forEach like now.