visual studio code - TypeScript implicit any-fel med Superagent


Jag använder superagent i ett TypeScript-projekt och har installerat @types/superagent men ser ett typerfel som jag inte förstår. Givet följande...

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

Jag får dessa fel för err och res: Parametern 'err' har implicit typen 'any'.ts(7006) Parametern 'res' har implicit typen 'any'.ts(7006)

Men samtidigt verkar TypeScript ändå känna till typen på dessa variabler eftersom när jag hovrar över dem i VSCode visas de korrekta typerna från @types/superagent, som kan ses i bilden nedan.

I bilden visas det att den korrekt hämtar typen av res som request.Response från @types/superagent.

Därför förstår jag inte varför jag får dessa implicita typfel. Kan någon förklara detta för en TypeScript-nybörjare? Tack :)

Svar #1

Du specificerar inte typen på parametrarna. Prova följande:

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