Axios atgrieza straumi. Fails joprojām tiek rakstīts.
Gaidi gan tīkla lasīšanu, gan rakstīšanu galamērķī, lejupielādējot ar Axios Node vidē caur SOCKS aģentu.
Kad Axios atrisina Node pieprasījumu ar responseType: 'stream', pamatteksts ir gatavs lietošanai. Fails tomēr vēl nav pabeigts. Gaidi pārvietošanu uz tā galamērķi:
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));Šis izmanto jau konfigurētu klientu. Tā adapterim jāatbalsta izvēlētais starpniekserveris vai SOCKS aģents; Axios iebūvētā HTTP starpniekservera opcija un SOCKS aģents ir atsevišķi mehānismi. URL, taimautus un atcelšanas politiku nodrošina lietojumprogramma.
Izmanto pagaidu ceļu, kas pieder šai darbībai. Izlem, kā rīkoties ar sadursmēm, pirms izveido rakstīšanas straumi, lai tīrīšana pēc kļūmes neizdzēstu kāda cita failu. Apzinātai atsākšanai nepieciešama sava politika.
pipeline koordinē lasīšanu un rakstīšanu un ziņo par to kļūmi. Izsaukt response.data.pipe(file) un uzreiz reģistrēt panākumus nozīmē izlaist šo pabeigšanas punktu. Tīkla pārtraukums vai pilns disks var rasties pēc tam, kad ir pienākusi derīga HTTP atbilde; saglabā atbildes kontekstu un kļūdu, kas apturēja apstrādi.
Kad gaidītā apstrāde ir veiksmīga, veic lietojumprogrammas artefaktu pārbaudes un pēc tam publicē galīgo nosaukumu. Pabeigšana nozīmē, ka straume tika patērēta un ierakstīta saskaņā ar šiem API, nevis to, ka tas ir gaidītais izlaidums vai dokuments. Kļūmes vai atcelšanas gadījumā saglabā vai dzēs daļējo failu saskaņā ar izvēlēto atsākšanas politiku. Atcelšanas signāls var apturēt attiecīgo pieprasījumu un straumes darbības; tas neizlemj, kas lietojumprogrammai jādara ar izvadi.