We only ever add to promises and never modify a promise in it, so just keep track of promiseItemCount