Chage some Functions(getNextEntity, getPrevEntity, getNextPage, getPreviousPage)

getNextEntity

Contents

//before
var hasNextElement = (this._iterator >= 0 && this._iterator <= this._list.length);
//after
var hasNextElement = (this._iterator >= 0 && this._iterator < this._list.length);
Why

If there is no next entity, false to return the modified

getPrevEntity

Contents

//before
return this.list[this._iterator];
//after
return this._list[this._iterator];
Why

Wrong variable name

getNextPage & getPreviousPage

Contents

//add code
} else {
    callback(true);
}
why

the return value is consistent