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