Axios ktheu një stream. Skedari po shkruhet ende.
Prisni si leximin nga rrjeti ashtu edhe shkrimin në destinacion kur shkarkoni përmes një agjenti SOCKS me Axios në Node.
Kur Axios zgjidh një kërkesë Node me responseType: 'stream', trupi është gati për t'u konsumuar. Skedari megjithatë nuk është i plotë. Prisni transferimin në destinacionin e tij:
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));Kjo përdor një klient të konfiguruar më parë. Përshtatësi i tij duhet të mbështesë proxy-n ose agjentin SOCKS të zgjedhur; opsioni i integruar i proxy HTTP në Axios dhe një agjent SOCKS janë mekanizma të ndryshëm. Aplikacioni siguron URL-në, afatet kohore dhe politikën e anulimit.
Përdorni një shteg të përkohshëm që i përket këtij operacioni. Vendosni si t'i trajtoni përplasjet para se të krijoni rrjedhën e shkrimit, që pastrimi pas dështimit të mos heqë skedarin e dikujt tjetër. Rifillimi i qëllimshëm kërkon politikën e vet.
pipeline koordinon leximin dhe shkrimin dhe raporton dështimin e tyre. Thirrja e response.data.pipe(file) dhe regjistrimi i suksesit menjëherë anashkalon atë pikë përfundimi. Një ndërprerje rrjeti ose një disk i plotë mund të ndodhë pasi ka mbërritur një përgjigje e vlefshme HTTP; ruani kontekstin e përgjigjes dhe gabimin që ndaloi përpunimin.
Pasi përpunimi i pritur të ketë sukses, kryeni kontrollet e artefaktit të aplikacionit dhe më pas publikoni emrin përfundimtar. Përfundimi do të thotë që rrjedha u konsumua dhe u shkrua sipas këtyre API-ve, jo se është versioni ose dokumenti i pritur. Në rast dështimi ose anulimi, mbani ose hiqni skedarin e pjesshëm sipas politikës së rifillimit të zgjedhur. Një sinjal anulimi mund të ndalojë kërkesën dhe operacionet e rrjedhës përkatëse; nuk vendos çfarë duhet të bëjë aplikacioni me daljen.