Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Função hasNext() não é lida

Boa noite.

Estou com problemas no código ou é erro meu! A mensagem abaixo é exibida quando posiciono o cursor sobre a função hasNext(). E o código não está funcionando. [ts] 'hasNext' is declared but its value is never read. (local function) hasNext(): boolean

Abri o código em outro editor e a mensagem não apareceu, mas no console são exibidos vários erros. Abaixo segue código do arquivo sprite.js...

function createSprite(selector) {
    var $el = $(selector);

    var frames = [
        'frame1', 'frame2', 'frame3', 'frame4', 'frame5',
        'frame6', 'frame7', 'frame8', 'frame9'
    ];

    var current = 0;
    var last = frames.length - 1;

    $el.addClass(frames[current]);

    function moveFrame(from, to) {
        $el.removeClass(from)
            .addClass(to);
    }

    function hasNext() {
        return current + 1 <= last;
    }

    function nextFrame() {
        if(nextFrame()) moveFrame(frames[current], frames[++current]);
    }

    return {
        nextFrame: nextFrame
    }
}

Fico no aguardo, vlw

1 resposta
solução!

Boa noite novamente.

Descobri o problema, falta de atenção minha!!!

Na condição do if() dentro da função nextFrame() eu estava chamando a função nextFrame() ao invés da função hasNext().

Esse é o correto:

function nextFrame() {
        if(hasNext()) moveFrame(frames[current], 
        frames[++current]);
}

Falta de atenção minha pra variar...

Vlw

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software