Wanneer Axios 'n Node-versoek met responseType: 'stream' oplos, is die liggaam gereed om te verbruik. Die lêer is egter nog nie voltooi nie. Wag vir die oordrag na sy bestemming:

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));

Dit gebruik 'n reeds gekonfigureerde kliënt. Sy adapter moet die gekose proxy of SOCKS-agent ondersteun; Axios se ingeboude HTTP-proxy-opsie en 'n SOCKS-agent is aparte meganismes. Die toepassing verskaf die URL, die tydsperdatums en die kansellasiebeleid.

Gebruik 'n tydelike pad wat deur hierdie bewerking besit word. Kies hoe om botsings te hanteer voordat die skryfstroom geskep word, sodat opruiming ná 'n fout nie iemand anders se lêer verwyder nie. 'n Opsetlike hervatting het sy eie beleid nodig.

pipeline koördineer lees en skryf en rapporteer hul mislukking. Om response.data.pipe(file) te roep en dadelik sukses te log, slaan daardie voltooiingspunt oor. 'n Netwerkonderbreking of 'n vol skyf kan gebeur nadat 'n geldige HTTP-antwoord aangekom het; behou die antwoordkonteks en die fout wat die pyplyn gestop het.

Nadat die pyplyn wat jy afgewag het, slaag, voer die toepassing se artefak-kontroles uit en publiseer dan die finale naam. Voltooiing beteken die stroom is verbruik en geskryf onder hierdie API's, nie dat dit die verwagte vrystelling of dokument is nie. By mislukking of kansellasie behou of verwyder jy die gedeeltelike lêer volgens die gekose hervattingsbeleid. 'n Kansellasiesein kan die betrokke versoek en stroombewerkings stop; dit besluit nie wat die toepassing met die uitset moet doen nie.

Verwante artikels