Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

291
Vistas
Extraiga datos de XMLHttpRequest en un ReadableStream

Estoy usando la biblioteca zip-stream (esencialmente un ReadableStream personalizado) para transmitir archivos zip a StreamSaver.js

Tengo problemas para averiguar cómo canalizar datos de XMLHttpRequest a esta secuencia legible.

Estaba pensando en algo como esto (pseudocódigo):

 var xhr = new XMLHttpRequest(); for(url in urls) { xhr.open('GET', url, true) xhr.responseType = 'arraybuffer'; xhr.onload = () => { if(xhr.status == 200) { ArbitraryGetDataFunction(xhr.response).then(function (data) { let arr = new Uint8Array(data) //somehow pipe arr into ReadableStream } } } }

Soy nuevo en ReadableStreams (y js en general), y la mayoría de los ejemplos de uso de ReadableStreams tienen la transmisión inicializada con una función de inicio o extracción que ya 'sabe' qué datos se transmiten cuando se inicializan, como este ejemplo dado por zip- autor de la corriente:

 const readableZipStream = new ZIP({ start (ctrl) { ctrl.enqueue(file1) ctrl.enqueue(file2) ctrl.enqueue(file3) ctrl.enqueue({name: 'streamsaver-zip-example/empty folder', directory: true}) // ctrl.close() }, async pull (ctrl) { // Gets executed everytime zip.js asks for more data const url = 'https://d8d913s460fub.cloudfront.net/videoserver/cat-test-video-320x240.mp4' const res = await fetch(url) const stream = () => res.body const name = 'streamsaver-zip-example/cat.mp4' ctrl.enqueue({ name, stream }) // if (done adding all files) ctrl.close() } })

Sin embargo, quiero crear el objeto ReadableStream ANTES de que se procese el XHR. Si esto no es posible con ReadableStreams, ¿qué otro método puedo usar?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda