Nígbà tí Axios bá yanjú ìbéèrè Node pẹ̀lú responseType: 'stream', ara ti ṣetán fún lílò. Ṣùgbọ́n fáìlì náà kò tíì parí. Dúró de gbígbé rẹ̀ lọ sí ibi tí ó ń lọ:

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

Èyí ń lo alábàáṣepọ̀ tí a ti ṣètò tẹ́lẹ̀. Olùyípadà rẹ̀ gbọ́dọ̀ ṣètìlẹ́yìn fún aṣojú tàbí SOCKS aṣojú tí a yàn; àṣàyàn HTTP aṣojú tí ó wà nínú Axios àti aṣojú SOCKS jẹ́ ọ̀nà ọ̀tọ̀ọ̀tọ̀. Ohun èlò náà ń pèsè URL, àwọn àkókò ìparí àti ìlànà ìfagilé.

Lo ọ̀nà ìgbà díẹ̀ tí ó jẹ́ ti iṣẹ́ yìí. Pinnu bí a ó ṣe kojú ìkọlù ṣáájú kí o tó dá ṣiṣan kíkọ, kí ìmọ́tótó lẹ́yìn ìkùdàá pé kí ó má ṣe yọ fáìlì ẹlòmíràn. Ìpadàbẹ̀rẹ̀ àìmọ̀ọ́mọ̀ nílò ìlànà tirẹ̀.

pipeline ń ṣe àkójọpọ̀ kíkà àti kíkọ, ó sì ń jábọ̀ ìkùdàá wọn. Pípè response.data.pipe(file) àti kíkọ àṣeyọrí lẹ́sẹ̀kẹsẹ̀ ń fo ibi ìparí yẹn. Ìdánudúró nẹ́tíwọ́kì tàbí dískì tí ó kún lè ṣẹlẹ̀ lẹ́yìn tí ìdáhùn HTTP tí ó tọ́ ti dé; tọ́jú àyíká ìdáhùn àti àṣìṣe tí ó dá ìṣiṣẹ́ dúró.

Lẹ́yìn tí ìṣiṣẹ́ tí a retí bá yọrísí, ṣe àwọn àyẹ̀wò artefact ti ohun èlò náà kí o sì tẹ̀ jáde orúkọ ìkẹyìn. Ìparí túmọ̀ sí pé a ti lo ṣiṣan náà tí a sì ti kọ ọ́ lábẹ́ àwọn API wọ̀nyí, kì í ṣe pé òun ni ìtẹ̀jáde tàbí ìwé tí a retí. Nígbà ìkùdàá tàbí ìfagilé, tọ́jú tàbí yọ fáìlì apá kan gẹ́gẹ́ bí ìlànà ìpadàbẹ̀rẹ̀ tí a yàn. Àmì ìfagilé lè dá ìbéèrè àti àwọn iṣẹ́ ṣiṣan tí ó kan dúró; kò pinnu ohun tí ohun èlò náà yẹ kí ó ṣe pẹ̀lú èsì náà.

Àwọn àpilẹ̀kọ tó jọra