Skip to main content

Streaming y trabajos asincrónicos

Transmitiendo con convertStream

convertStream devuelve un Observable<string> que emite un valor para cada fragmento; combínelo con scan de RxJS si prefiere acumular texto de forma reactiva en lugar de signal.update:
convertStream requiere que su servidor proxy reenvíe la transmisión sin almacenamiento en búfer (consulte la Guía del marco). Si su servidor acumula la respuesta completa antes de reenviarla, perderá el beneficio de latencia de la transmisión incluso si Observable todavía está funcionando (recibirá todo en un solo next).

Empleos por saturación (202)

Cuando todos los servidores de API están ocupados, la solicitud se pone en cola y 202 responde con un job_id. Consulte GET /jobs/{id}. La forma en que lo maneje depende de si su proxy backend realiza el sondeo por usted o lo delega en el frontend.

Encuesta delegado al backend (recomendado)

Si su servidor proxy usa SDK de Node.js/Python/etc. con autoPoll: true (el valor predeterminado en esos SDK), Angular nunca ve el 202; la solicitud HTTP a su backend simplemente demora más y convertFile/convertFromUrl se resuelve hasta el resultado final.

Encuesta manual desde Angular

Si su backend reenvía el 202 tal como está (por ejemplo, para no bloquear una conexión HTTP larga), maneje la encuesta en el componente:
En condiciones de carga normales, no verá 202; solo sucede cuando todos los backends están saturados. Si su backend utiliza cualquiera de los otros SDK oficiales con sondeo automático (el comportamiento predeterminado), no necesita implementar el sondeo manual en Angular en absoluto.
Los resultados de los trabajos completados caducan en aproximadamente 1 hora. Si guarda un jobId y getJob devuelve 404, reenvíe la conversión original.