next = i =>
			this._items[i].getPromise().then(result => {
				if (result !== undefined) return result;
				if (++i < this._items.length) return next(i);
			})
@param {number} i index
@returns {Promise<T>} promise with the data