Երբ 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-ների ներքո, ոչ թե որ դա սպասված թողարկումը կամ փաստաթուղթն է։ Ձախողման կամ չեղարկման դեպքում պահեք կամ հեռացրեք մասնակի ֆայլը ըստ ընտրված վերսկսման քաղաքականության։ Չեղարկման ազդանշանը կարող է կանգնեցնել համապատասխան հարցումը և հոսքի գործողությունները. այն չի որոշում, թե հավելվածը ինչ պետք է անի ելքի հետ։

Առնչվող հոդվածներ