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 агентін қолдауы керек; Axios-тың кірістірілген HTTP прокси опциясы мен SOCKS агенті бөлек механизмдер. URL-ды, таймауттарды және тоқтату саясатын қолданба береді.

Осы операцияға тиесілі уақытша жолды пайдаланыңыз. Жазу ағынын жасамас бұрын қақтығыстарды қалай өңдейтініңізді шешіңіз, сонда сәтсіздіктен кейінгі тазалау біреудің файлын жоймайды. Әдейі жалғастыру өз саясатын қажет етеді.

pipeline оқу мен жазуды үйлестіреді және олардың сәтсіздігін хабарлайды. response.data.pipe(file)-ті шақырып, бірден сәттілікті журналға жазу сол аяқталу нүктесін өткізіп жібереді. Жарамды HTTP жауабы келгеннен кейін де желі үзілуі немесе дисктің толуы мүмкін; жауап контекстін және өңдеуді тоқтатқан қатені сақтаңыз.

Күтілген өңдеу сәтті аяқталғаннан кейін қолданбаның артефакт тексерулерін орындаңыз, содан кейін соңғы атауды жариялаңыз. Аяқталу ағынның осы API-лер шеңберінде тұтынылып жазылғанын білдіреді, бірақ бұл күтілген шығарылым немесе құжат дегенді білдірмейді. Сәтсіздік немесе тоқтату кезінде таңдалған жалғастыру саясатына сәйкес ішінара файлды сақтаңыз немесе жойыңыз. Тоқтату сигналы тиісті сұрауды және ағын операцияларын тоқтата алады; ол қолданбаның шығыспен не істеуі керектігін шешпейді.

Қатысты мақалалар