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 යටතේ ස්ට්‍රීමය පරිභෝජනය කර ලියා ඇති බවයි, එය බලාපොරොත්තු වූ නිකුතුව හෝ ලේඛනය යන්න නොවේ. අසාර්ථකත්වය හෝ අවලංගු කිරීමේදී, තෝරාගත් නැවත ආරම්භ කිරීමේ ප්‍රතිපත්තිය අනුව අර්ධ ගොනුව රඳවා ගන්න හෝ ඉවත් කරන්න. අවලංගු කිරීමේ සංඥාවට අදාළ ඉල්ලීම සහ ස්ට්‍රීම් ක්‍රියාකාරකම් නැවැත්විය හැක; නමුත් ප්‍රතිදානය සමඟ යෙදුම කුමක් කළ යුතුද යන්න එය තීරණය නොකරයි.

අදාළ ලිපි