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

208
Visualizações
ejecutar la función de mapa en un resultado directamente desde una API da error

Estoy teniendo un tipo de problema extraño. Tengo una función getPosts que devuelve un objeto json, cuando ejecuto una función .map() en él, aparece el error TypeError: getPosts(...).forEach is not a function , pero cuando almaceno el valor de getPosts en una variable, como json1 y luego ejecute la función .map() en ella, funciona perfectamente. No sé por qué está pasando eso.

 async function getPosts() { let posts = await fetch('https://jsonplaceholder.typicode.com/posts') .then(response => response.json()) .then(json => { return json.slice(0, 5) }) } var json2=["Ike","Ron"]; var i=0; getPosts().forEach(element => { element.first_name=json2[i]; i++; }); console.log(getPosts())

Registro de errores

TypeError: getPosts(...).forEach is not a function

el resultado de getPosts almacenado en var json1 es

 let json1 = [ { userId: 1, id: 1, title: 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit', body: 'quia et suscipit\n' + 'suscipit recusandae consequuntur expedita et cum\n' + 'reprehenderit molestiae ut ut quas totam\n' + 'nostrum rerum est autem sunt rem eveniet architecto' }, { userId: 1, id: 2, title: 'qui est esse', body: 'est rerum tempore vitae\n' + 'sequi sint nihil reprehenderit dolor beatae ea dolores neque\n' + 'fugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\n' + 'qui aperiam non debitis possimus qui neque nisi nulla' } ]

cuando ejecuto la función .map() aquí, funciona bien y obtengo el resultado esperado

 var json2=["Ike","Ron"]; var i=0; json1.forEach(element => { element.first_name=json2[i]; i++; }); console.log(json1)

el resultado esperado es el siguiente y funciona bien

 [ { userId: 1, id: 1, title: 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit', body: 'quia et suscipit\n' + 'suscipit recusandae consequuntur expedita et cum\n' + 'reprehenderit molestiae ut ut quas totam\n' + 'nostrum rerum est autem sunt rem eveniet architecto', first_name: 'Ike' }, { userId: 1, id: 2, title: 'qui est esse', body: 'est rerum tempore vitae\n' + 'sequi sint nihil reprehenderit dolor beatae ea dolores neque\n' + 'fugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\n' + 'qui aperiam non debitis possimus qui neque nisi nulla', first_name: 'Ron' } ]

código actualizado después de devolver las publicaciones

 async function getPosts() { let posts = await fetch('https://jsonplaceholder.typicode.com/posts') .then(response => response.json()) .then(json => json.slice(0, 5)) return posts } getPosts()
about 4 years ago · Juan Pablo Isaza
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