É o mesmo erro relatado em pergunta/solução anterior:
O tipo 'Promise<void | Negociacao[]>' não pode ser atribuído ao tipo 'Promise<Negociacao[]>'.
O tipo 'void | Negociacao[]' não pode ser atribuído ao tipo 'Negociacao[]'.
O tipo 'void' não pode ser atribuído ao tipo 'Negociacao[]'.
Mas a linha do catch está diferente: catch(err => console.log(err));
Usei o código que está na próxima aula 05 (fiz download do código, copiei e colei o fonte NegociacaoService.ts no local correto na pasta).
Como resolver isso, por favor?
import { Negociacao, NegociacaoParcial } from '../models/index';
export class NegociacaoService {
obterNegociacoes(handler: HandlerFunction): Promise<Negociacao[]> {
return fetch('http://localhost:8080/dados')
.then(res => handler(res))
.then(res => res.json())
.then((dados: NegociacaoParcial[]) =>
dados
.map(dado => new Negociacao(new Date(), dado.vezes, dado.montante))
)
.catch(err => console.log(err));
}
}
export interface HandlerFunction {
(res: Response): Response
}