I'm trying to get a list of hours between two date
I've tried do an while no get them, but I dont know why my app is freezing when I call the function
 getHours(){
    let dataA =new Date();
    let dataF = new  Date();
    dataA.setHours(this.state.lojas.data[0].h_abertura.split(':')[0],this.state.lojas.data[0].h_abertura.split(':')[1]);
    dataF.setHours(this.state.lojas.data[0].h_fecho.split(':')[0],this.state.lojas.data[0].h_fecho.split(':')[1]);
    var listaDatas = [];
    console.log(dataF.toString())
    while(Math.abs((( dataA.getTime() - dataF.getTime()) / 60000)) > parseInt(this.state.lojas.data[0].tempoAtender))
    {
       listaDatas.push(dataA.getHours()+":"+dataA.getMinutes());
        dataA.setMinutes(dataA.getMinutes()+ this.state.lojas.data[0].tempoAtender);
    }
 }
Math.abs((( dataA.getTime() - dataF.getTime()) with this i'm getting 540 as result and if I add minutes "dataA.setMinutes(dataA.getMinutes()+ this.state.lojas.data[0].tempoAtender);" and check it again i got 520 but it seens like that it is entering on a infinity loop
Resolution
    let dataA =new Date();
    let dataF = new  Date();
    dataA.setHours(this.state.lojas.data[0].h_abertura.split(':')[0],this.state.lojas.data[0].h_abertura.split(':')[1]);
    dataF.setHours(this.state.lojas.data[0].h_fecho.split(':')[0],this.state.lojas.data[0].h_fecho.split(':')[1]);
    var a = moment(`2016-06-06T${this.state.lojas.data[0].h_fecho.split(':')[0]}:${this.state.lojas.data[0].h_fecho.split(':')[1]}:55`);//now
    var b = moment(`2016-06-06T${this.state.lojas.data[0].h_abertura.split(':')[0]}:${this.state.lojas.data[0].h_abertura.split(':')[1]}:55`);
    var listaDatas = [];
    console.log(dataF.toString())
    while(a.diff(b,'minutes') >= parseInt(this.state.lojas.data[0].tempoAtender))
    {
       listaDatas.push(b.hour()+":"+b.minutes())
        b.add(this.state.lojas.data[0].tempoAtender,'minutes')
    }
    listaDatas.push((b.hour()+":"+b.minutes()).toString())
    alert(listaDatas.toString())
 
    