Axios bir Node isteğini responseType: 'stream' ile çözdüğünde gövde tüketilmeye hazırdır. Ancak dosya henüz tamamlanmamıştır. Hedefine aktarımı bekleyin:

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, önceden yapılandırılmış bir istemci kullanır. Bağdaştırıcısı seçilen proxy'yi veya SOCKS aracısını desteklemelidir; Axios'un yerleşik HTTP proxy seçeneği ile bir SOCKS aracısı ayrı mekanizmalardır. URL'yi, zaman aşımlarını ve iptal ilkesini uygulama sağlar.

Bu işleme ait geçici bir yol kullanın. Yazma akışını oluşturmadan önce çakışmaların nasıl ele alınacağına karar verin; böylece hata sonrası temizlik başkasının dosyasını silmez. Kasıtlı sürdürme kendi ilkesini gerektirir.

pipeline okuma ve yazmayı düzenler ve bunların hatasını bildirir. response.data.pipe(file) çağırıp başarıyı hemen günlüğe kaydetmek o tamamlanma noktasını atlar. Geçerli bir HTTP yanıtı geldikten sonra da ağ kesintisi veya dolu disk olabilir; yanıtın bağlamını ve işlemeyi durduran hatayı saklayın.

Beklenen işleme başarılı olduktan sonra uygulamanın yapıt denetimlerini gerçekleştirin ve ardından son adı yayımlayın. Tamamlanma, akışın bu API'ler kapsamında tüketilip yazıldığı anlamına gelir; beklenen sürüm veya belge olduğu anlamına gelmez. Hata veya iptal durumunda, seçilen sürdürme ilkesine göre kısmi dosyayı saklayın veya kaldırın. İptal sinyali ilgili isteği ve akış işlemlerini durdurabilir; uygulamanın çıktıyla ne yapması gerektiğine karar vermez.

İlgili makaleler