Axios је вратио stream. Датотека се још увек пише.
Сачекајте и читање са мреже и упис на одредиште када преузимате преко SOCKS агента са Axios-ом у Node-у.
Када Axios реши Node захтев са responseType: 'stream', тело је спремно за конзумацију. Датотека још није довршена. Сачекајте пренос на одредиште:
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));Ово користи већ конфигурисаног клијента. Његов адаптер мора да подржава изабрани прокси или SOCKS агент; уграђена HTTP прокси опција у Axios-у и SOCKS агент су одвојени механизми. URL, временска ограничења и политику отказивања обезбеђује апликација.
Користите привремену путању која припада овој операцији. Одлучите како да поступате са сударима пре него што направите ток за писање, да чишћење после неуспеха не би уклонило туђу датотеку. Намерно настављање захтева сопствену политику.
pipeline усклађује читање и писање и пријављује њихов неуспех. Позивање response.data.pipe(file) и тренутно бележење успеха прескаче ту тачку довршетка. Прекид мреже или пун диск могу се догодити након што је стигао валидан HTTP одговор; сачувајте контекст одговора и грешку која је зауставила обраду.
Након што очекивана обрада успе, извршите провере артефакта апликације и затим објавите коначно име. Довршетак значи да је stream конзумиран и записан под овим API-јима, а не да је то очекивано издање или документ. У случају неуспеха или отказивања задржите или уклоните делимичну датотеку према изабраној политици настављања. Сигнал отказивања може да заустави одговарајући захтев и операције тока; он не одлучује шта апликација треба да ради са излазом.