Axios એ સ્ટ્રીમ પરત કરી. ફાઇલ હજી લખાઈ રહી છે.
Node માં Axios સાથે SOCKS એજન્ટ દ્વારા ડાઉનલોડ કરતી વખતે નેટવર્ક વાંચન અને ગંતવ્ય પર લેખન બંનેની રાહ જુઓ.
જ્યારે Axios responseType: 'stream' સાથે Node વિનંતી ઉકેલે છે, ત્યારે બોડી વાપરવા માટે તૈયાર હોય છે. પરંતુ ફાઇલ હજી પૂર્ણ નથી. તેના ગંતવ્ય પર સ્થાનાંતરણની રાહ જુઓ:
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 હેઠળ વપરાઈ અને લખાઈ ગયો, એ નહીં કે તે અપેક્ષિત પ્રકાશન કે દસ્તાવેજ છે. નિષ્ફળતા કે રદ કરવા પર, પસંદ કરેલી પુનઃશરૂઆત નીતિ અનુસાર આંશિક ફાઇલ રાખો અથવા દૂર કરો. રદ કરવાનો સંકેત સંબંધિત વિનંતી અને સ્ટ્રીમ કામગીરી રોકી શકે છે; પરંતુ એપ્લિકેશને આઉટપુટ સાથે શું કરવું તે નક્કી કરતું નથી.