Soy un aprendiz que actualmente sigue un tutorial de YouTube sobre JS, y el siguiente código funcionó bien en el video, pero recibo un mensaje de error
error: No capturado (en promesa) SyntaxError: JSON.parse: carácter inesperado en la línea 1, columna 1 de los datos JSON
El registro de la consola muestra la línea que tiene el código console.log("finished!"); como la línea con el error
El código JS:
const getDataFromForm = () => { const requestObj = { firstName: "Humaid", lastName: "Ahamed", categories: ["nerdy"], }; return requestObj; }; const buildRequestUrl = (requestData) => { `http://api.icndb.com/jokes/random?firstName=${requestData.firstName}&lastName=${requestData.lastName}&limitTo=${requestData.categories}`; }; const requestJokeAnotherMethod = async (url) => { const Response = await fetch(url); const jsonResponse = await Response.json(); const joke = jsonResponse.value.joke; postJokeToPage(joke); }; const postJokeToPage = (joke) => { console.log(joke); }; const processJokeRequest = async () => { const requestData = getDataFromForm(); const requestUrl = buildRequestUrl(requestData); await requestJokeAnotherMethod(requestUrl); console.log("finished!"); }; processJokeRequest();Me di cuenta de que olvidé devolver el enlace de la API de Chuck Norris. Ahora el código funciona de maravilla. Gracias a esa persona que señaló mi error.
Anteriormente no había incluido la declaración de return en la siguiente función:
const buildRequestUrl = (requestData) => { return `http://api.icndb.com/jokes/random?firstName=${requestData.firstName}&lastName=${requestData.lastName}&limitTo=${requestData.categories}`; };