Når Axios løser en Node-forespørsel med responseType: 'stream', er kroppen klar til bruk. Filen er likevel ikke ferdig. Vent på overføringen til destinasjonen:

import { createWriteStream } from 'node:fs';
import { pipeline } from 'node:stream/promises';

const response = await client.get(url, { responseType: 'stream' });
await pipeline(response.data, createWriteStream(partPath));

Dette bruker en allerede konfigurert klient. Adapteren må støtte proxyen eller SOCKS-agenten som er valgt; Axios innebygde HTTP-proxyvalg og en SOCKS-agent er separate mekanismer. Applikasjonen leverer URL-en, tidsgrensene og avbruddspolicyen.

Bruk en midlertidig sti som tilhører denne operasjonen. Bestem hvordan kollisjoner håndteres før du oppretter skrivestrømmen, slik at opprydding etter en feil ikke fjerner andres fil. En bevisst gjenopptakelse trenger sin egen policy.

pipeline koordinerer lesing og skriving og rapporterer feilen deres. Å kalle response.data.pipe(file) og logge suksess umiddelbart hopper over det fullføringspunktet. Et nettverksavbrudd eller full disk kan skje etter at et gyldig HTTP-svar har ankommet; ta vare på svarkonteksten og feilen som stoppet behandlingen.

Når den forventede behandlingen har lykkes, utfør applikasjonens artefaktkontroller og publiser deretter det endelige navnet. Fullført betyr at strømmen ble brukt og skrevet under disse API-ene, ikke at den er den forventede utgivelsen eller dokumentet. Ved feil eller avbrudd beholder eller fjerner du delfilen etter den valgte gjenopptakelsespolicyen. Et avbruddssignal kan stoppe den aktuelle forespørselen og strømoperasjonene; det avgjør ikke hva applikasjonen skal gjøre med utdataene.

Relaterte artikler