typescript - Tyyppivirhe: Ominaisuutta 'pipe' ei ole tyypissä 'ReadableStream'


Minulla on tämä Express.js-tyyppisen (se on itse asiassa Next.js-versio jostakin, joka muistuttaa Express.js:ää) funktion sisällä. URL on URL, joka päättyy .csv, joten kyseessä on CSV-tiedoston lataus. Yritän hakea CSV:n ja suoratoistaa datan läpi csv-parser-kirjaston (jotta tiedostoa ei tarvitse tallentaa) ja lopulta taulukkoon (olen jättänyt osan tästä koodista pois, koska se on oleellista).

export default async (req: NextApiRequest, res: NextApiResponse) => {

  ...

  const response: Response = await fetch(url)
  try {
    response.body.pipe(parser())
      .on('data', callback...)
  } catch {
    error handling...
  }
}

Se kaikki toimii haluamallani tavalla, mutta kun yritän rakentaa sovellustani, saan tämän virheen kohdassa response.body.pipe.

Type error: Property 'pipe' does not exist on type 'ReadableStream<Uint8Array>'.

Toivottavasti tämä on tarpeeksi kontekstia ja järkevää. Voisiko joku neuvoa, miten tähän pitäisi suhtautua?

Vastaus #1

Jäsensin NextApiRequestin rungon näin:

const d = await req.body?.getReader().read();
console.log(d?.value?.toString());

Aiheeseen liittyviä artikkeleita