Wyszukiwanie w witrynie

visual studio code - Błąd niejawnego typu any w TypeScript przy użyciu Superagent


Używam superagent w projekcie TypeScript i zainstalowałem @types/superagent, ale widzę błąd typu, którego nie rozumiem. Biorąc pod uwagę następujące...

const myRequest = request
  .get('/path/to/api')
  .end((err, res) => {
    // Do stuff with err and res
  })

Otrzymuję te błędy dla err i res: Parametr 'err' ma domyślnie typ 'any'.ts(7006) Parametr 'res' ma domyślnie typ 'any'.ts(7006)

Ale jednocześnie TypeScript wydaje się znać typy tych zmiennych, ponieważ gdy najadę na nie w VSCode, pokazuje poprawne typy z @types/superagent, jak widać na poniższym obrazie.

Na obrazie pokazano, że prawidłowo uzyskuje typ res jako request.Response z @types/superagent.

Dlatego nie rozumiem, dlaczego otrzymuję te niejawne błędy typów. Czy ktoś może to wytłumaczyć początkującemu w TypeScript? Dzięki :)

Odpowiedź #1

Nie określasz typu parametrów. Spróbuj następującego:

const myRequest = request
  .get('/path/to/api')
  .end((err, res: request.Response) => {
    // Do stuff with err and res
  })