Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

317
Visualizações
No se puede consumir el flujo de ndjson en Node, pero un código similar funciona en React

Estoy tratando de consumir datos de este punto final en lichess.org .

Aquí hay un ejemplo de trabajo mínimo de un componente React que consume ese flujo de datos. Estoy usando una biblioteca llamada can-ndjson-stream .

 import ndjsonStream from "can-ndjson-stream" import { useEffect } from "react" function App() { useEffect(() => { fetch("https://lichess.org/api/tv/feed") .then(res => ndjsonStream(res.body)) .then(stream => { const streamReader = stream.getReader() streamReader.read().then(async res => { while (!res || !res.done) { res = await streamReader.read() console.log(res.value) } }) }) .catch(console.error) }, []) return <>Lorem Ipsum</> } export default App

Sin embargo, si intento escribir este mismo código y ejecutarlo en Node de esta manera:

 import ndjsonStream from "can-ndjson-stream" import fetch from "node-fetch" fetch("https://lichess.org/api/tv/feed") .then(res => ndjsonStream(res.body)) .then(stream => { const streamReader = stream.getReader() streamReader.read().then(async res => { while (!res || !res.done) { res = await streamReader.read() console.log(res.value) } }) }) .catch(console.error)

me sale este error:

ReferenceError: ReadableStream no está definido en ndjsonStream

Por lo tanto, parece que la res de la recuperación es nula o indefinida, pero la recuperación de otras API funciona bien.

También intenté usar axios en lugar de node-fetch así:

 import ndjsonStream from "can-ndjson-stream" import axios from "axios" axios .get("https://lichess.org/api/tv/feed") .then(res => ndjsonStream(res.data)) .then(stream => { const streamReader = stream.getReader() streamReader.read().then(async res => { while (!res || !res.done) { res = await streamReader.read() console.log(res.value) } }) }) .catch(console.error)

Pero simplemente se cuelga y no muestra ningún resultado. Gracias a cualquiera que pueda arrojar algo de luz sobre esto u ofrecer alguna forma alternativa de ejecutar esto en Node.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Gracias a los comentarios de tromgy, pude hacer algo que funciona. Fui con la hiperbúsqueda de la biblioteca para ayudar a manejar la solicitud y la canalización de la transmisión. También usé la biblioteca ndjson .

Aquí hay un código de trabajo:

 hyperquest("https://lichess.org/api/tv/feed") .pipe(ndjson.parse()) .on("data", console.log)

Tenga en cuenta que puede manipular los objetos a medida que llegan con el segundo argumento de on() , como se muestra a continuación.

 ... .on("data", (obj) => { foo(obj) })
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda