Axios mengembalikan stream. Berkasnya masih sedang ditulis.
Tunggu pembacaan jaringan dan penulisan ke tujuan sekaligus saat mengunduh lewat agen SOCKS dengan Axios di Node.
Saat Axios menyelesaikan permintaan Node dengan responseType: 'stream', body sudah siap dikonsumsi. Berkasnya belum selesai. Tunggu pemindahan ke tujuannya:
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));Ini memakai klien yang sudah dikonfigurasi. Adapternya harus mendukung proxy atau agen SOCKS yang dipilih; opsi proxy HTTP bawaan Axios dan agen SOCKS adalah mekanisme yang terpisah. Aplikasi menyediakan URL, batas waktu, dan kebijakan pembatalan.
Gunakan jalur sementara milik operasi ini. Tentukan cara menangani tabrakan sebelum membuat stream tulis, supaya pembersihan setelah kegagalan tidak menghapus berkas orang lain. Melanjutkan dengan sengaja memerlukan kebijakannya sendiri.
pipeline mengoordinasikan pembacaan dan penulisan serta melaporkan kegagalannya. Memanggil response.data.pipe(file) lalu langsung mencatat keberhasilan melewati titik penyelesaian itu. Gangguan jaringan atau disk penuh dapat terjadi setelah respons HTTP yang sah tiba; simpan konteks respons dan galat yang menghentikan pemrosesan.
Setelah pemrosesan yang ditunggu berhasil, jalankan pemeriksaan artefak aplikasi lalu terbitkan nama akhir. Selesai berarti stream telah dikonsumsi dan ditulis di bawah API ini, bukan bahwa itu rilis atau dokumen yang diharapkan. Saat gagal atau dibatalkan, pertahankan atau hapus berkas parsial sesuai kebijakan lanjutkan yang dipilih. Sinyal pembatalan dapat menghentikan permintaan dan operasi stream terkait; ia tidak menentukan apa yang harus dilakukan aplikasi dengan keluarannya.