Message repeats a lot times

doInfinite(): Promise {
return new Promise((resolve) => {
setTimeout(() => {
this.appProvider.getMess(this.user[‘base64’], this.receiver[‘base64’], this.lastVisible).then(x=> {
let tamp= ;
x.forEach(element => {
tamp.push(element.data());
});
tamp.reverse();
this.msgList=tamp.concat(this.msgList);
console.log(this.msgList);
this.lastVisible = x.docs[x.docs.length - 1];
})
console.log('this.msgList: ', this.msgList)
resolve();
}, 500);
})
}

Hi everyone,
I used to infinite scroll for scroll message on window chat. now I can scroll ok but message repeats more times. can help me at my code