Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Estou recebendo uma reclamação do "isOk" no NegociacaoController.ts

Não entendi, mas o código NegociacaoController.ts parou de funcionar.

Está reclamando do "isOK", no método importaData() que está na linha:

this._service.obterNegociacoes(isOK)

NegociacaoControle.ts

import { NegociacoesView, MensagemView } from '../views/index';
import { Negociacao, Negociacoes } from '../models/index';
import { domInject, throttle } from '../helpers/decorators/index';
import { NegociacaoParcial } from '../models/index';
import { NegociacaoService } from '../services/index';
import { imprime } from '../helpers/index';

export class NegociacaoController {

    @domInject('#data')
    private _inputData: JQuery;

    @domInject('#quantidade')
    private _inputQuantidade: JQuery;

    @domInject('#valor')
    private _inputValor: JQuery;

    private _negociacoes = new Negociacoes();
    private _negociacoesView = new NegociacoesView('#negociacoesView');
    private _mensagemView = new MensagemView('#mensagemView');
    private _service = new NegociacaoService();

    constructor() {
        this._negociacoesView.update(this._negociacoes);
    }

    adiciona(event: Event) {

        event.preventDefault();

        let data = new Date(this._inputData.val().replace(/-/g, ','));

        if(!this._ehDiaUtil(data)) {

            this._mensagemView.update('Somente negociações em dias úteis, por favor!');
            return 
        }

        const negociacao = new Negociacao(
            data, 
            parseInt(this._inputQuantidade.val()),
            parseFloat(this._inputValor.val())
        );

        negociacao.paraTexto();

        this._negociacoes.adiciona(negociacao);
        this._negociacoesView.update(this._negociacoes);
        this._mensagemView.update('Negociação adicionada com sucesso!');

        // imprime no console a negociacao
        imprime(negociacao, this._negociacoes);
    }

    private _ehDiaUtil(data: Date) {

        return data.getDay() != DiaDaSemana.Sabado && data.getDay() != DiaDaSemana.Domingo;
    }

    @throttle()
    importaDados() {

        function isOk(res: Response) {

            if(res.ok) {
                return res;
            } else {
                throw new Error(res.statusText);
            }
        }

        this._service.obterNegociacoes(isOK)
        .then((negociacoes: Negociacao[]) => {
            negociacoes.forEach(negociacao => this._negociacoes.adiciona(negociacao));
            this._negociacoesView.update(this._negociacoes);
        });

    }
}


enum DiaDaSemana {

    Domingo, 
    Segunda, 
    Terca, 
    Quarta, 
    Quinta, 
    Sexta, 
    Sabado
}

Este código é o conteúdo do arquivo 10-alurabank.zip, que foi descomprimido no diretório de estudo do curso, não foi mexido e sim recuperado do Zip disponibilizado para acompanhamento do curso.

O que está ocorrendo?

3 respostas

Oi, Marcélio, tudo bem?

Acredito que no momento em que o arquivo foi salvo, houve uma pequena desatenção que o isOK na verdade é isOk com k minúsculo. Testando dessa forma, o erro sairá.

Testa e me fala se deu certo!

Obrigado, mas o arquivo eu recupera, sempre no início de cada aula o Zip disponibilizado da aula anterior.

O último que usei foi o 10-alurabank.zip.

solução

Oi, Marcélio!

O arquivo foi disponibilizado com esse erro de sintaxe, ai quando baixamos ele e utilizamos, recebemos esse erro, mas é só corrigir a letra k para minúscula que é resolvido.

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