código:
window.reddit.comments("uq0mzi").sort('hot').fetch(function(res) { res[1].data.children.flatMap((item) => { console.log(item.data.body) item.data.replies.data.children.map(y => (y.data.body === undefined ? "" : console.log(" >>>"+y.data.body))) })})lo que estoy intentando: estoy usando el envoltorio API de reddit para obtener comentarios y sus respuestas de una publicación. el primer mapa imprime los comentarios de nivel superior, mientras que el segundo mapa debe imprimir las respuestas a esos comentarios
dónde va mal: el código funciona, pero después de imprimir todo, aparece un error de tipo que dice:
TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo 'niños')
¿Cómo lo arreglo?
Mi solución favorita es usar la función getSafe para evitar errores undefined .
Si un valor anidado no está definido, se devolverá un valor predeterminado en lugar de undefined
const getSafe = (fn, defaultVal) => { try { if (fn() === undefined || fn() === null) { return defaultVal } else { return fn(); } } catch (e) { return defaultVal; } } window.reddit.comments("uq0mzi").sort('hot').fetch(function(res) { res[1].data.children.flatMap((item) => { console.log(item.data.body) getSafe(()=>item.data.replies.data.children, []).map(y => (y.data.body === undefined ? "" : console.log(" >>>"+y.data.body))) })})