Uso Promise para hacer una publicación http. Puedo ver los resultados que se han generado dentro de then() . ¿Cómo puedo acceder a data más tarde? resultPromise.then() , no produjo el mismo resultado.
let resultPromise = fetch(cleanUrl, { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(body), }) .then(response => response.json()) .then(data => { console.log('Success:', data); }) .catch((error) => { console.error('Error:', error); }); //what I intent to do if(data.isSafe == ture) { //do something } else { //do somehing }Actualización 1
Se agregó una descripción de lo que quiero hacer con los datos.
Actualización 2 Mueva el código dentro de then() como sugirió @Nicholas Tower.
.then(data => { console.log('Success:', data); }) Dado que aquí no hay valor de retorno, la promesa que crea se resuelve en undefined . Elimine este .then (en cuyo caso, el .then anterior determinará el valor) o haga que vuelva a devolver los datos.
.then(data => { console.log('Success:', data); return data; }) El bloque .catch puede requerir un tratamiento similar. Cualquier error se está tragando y reemplazando con la resolución a undefined . Si desea volver a generar el error, realice una de las siguientes acciones:
.catch((error) => { console.error('Error:', error); throw error; }); // or .catch((error) => { console.error('Error:', error); return Promise.reject(error); });