Axios Node sorğusunu responseType: 'stream' ilə həll etdikdə, gövdə istehlaka hazırdır. Fayl isə hələ tamamlanmayıb. Köçürmənin təyinat yerinə çatmasını gözləyin:

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));

Bu, artıq konfiqurasiya edilmiş klientdən istifadə edir. Onun adapteri seçilmiş proksi və ya SOCKS agentini dəstəkləməlidir; Axios-un daxili HTTP proksi seçimi ilə SOCKS agenti ayrı mexanizmlərdir. URL-i, taymautları və ləğvetmə siyasətini tətbiq təmin edir.

Bu əməliyyata aid müvəqqəti yoldan istifadə edin. Yazma axını yaratmazdan əvvəl toqquşmaların necə idarə olunacağını seçin ki, uğursuzluqdan sonra təmizləmə başqasının faylını silməsin. Qəsdən davam etdirmə öz siyasətini tələb edir.

pipeline oxumağı və yazmağı əlaqələndirir və onların uğursuzluğunu bildirir. response.data.pipe(file) çağırıb dərhal uğuru jurnala yazmaq həmin tamamlanma nöqtəsini atlayır. Şəbəkə kəsilməsi və ya diskin dolması etibarlı HTTP cavabı gəldikdən sonra baş verə bilər; cavab kontekstini və boru xəttini dayandıran xətanı saxlayın.

Gözlənilən boru xətti uğurla bitdikdən sonra tətbiqin artefakt yoxlamalarını yerinə yetirin və sonra yekun adı dərc edin. Tamamlanma axının bu API-lər çərçivəsində istehlak edilib yazıldığını bildirir, gözlənilən buraxılış və ya sənəd olduğunu deyil. Uğursuzluq və ya ləğvetmə halında qismən faylı seçilmiş davametmə siyasətinə uyğun saxlayın və ya silin. Ləğvetmə siqnalı müvafiq sorğunu və axın əməliyyatlarını dayandıra bilər; çıxışla tətbiqin nə edəcəyini isə müəyyən etmir.

Əlaqəli məqalələr