Why the hell does _callback get executed the second time in setInterval even tho the interval was literally cleared 
private static async _callback(){
if (this._channels.size > 0 && typeof this._interval !== 'undefined'){
const result = await this._channels.first()!.delete().catch(error => error);
console.log('IF: #1', `this._interval: ${this._interval}`);
if (result instanceof RateLimitError){
console.log('IF: #2');
this._interval = clearInterval(this._interval);
this.duration += result.timeToReset;
this._interval = setInterval(this._callback.bind(this), this.duration);
} else {
console.log('ELSE: #1')
this._channels.delete(this._channels.firstKey()!);
if(result instanceof DiscordAPIError) this._interval = (console.log('IF: #3'), clearInterval(this._interval));
console.log(`this._interval: ${this._interval}`)
};
} else if (this._channels.size === 0 && typeof this._interval !== 'undefined') this._interval = (console.log('IF: #4'), clearInterval(this._interval));
};
Here are the console logs:
IF: #1 object Error
ELSE: #1
IF: #3
IF: #1 undefined Error
ELSE: #1
IF: #3
