1
resposta

não consigo retornar o valor da promise alguem pode me ajudar

fiz uma função assincrona para dar fetch e conseguir o ip do usuario mas no final o que retorna pra mim é [object promisse] no console log exibe o ip do usuario mas na hora de gravar no banco vai como object promisse o que posso fazer para retornar o ip vai o codigo:

export async function ipget() {
    //resgata o ip do usuario para check

                                 fetch("https://extreme-ip-lookup.com/json", {method: "get"})

                                  .then( (httpResponse) => {
                                    if (httpResponse.ok) {
                                      return httpResponse.json();
                                    }
                                     else {
                                          return Promise.reject("Fetch did not succeed");
                                        }
                                     })
                                          .then((json)=>{
                                             let ipaddress =  json.query
                                             let ip = "" + ipaddress
                                             console.log("tipo:",typeof ipaddress)
                                             console.log("ip é:",ip)
                                              return ip
                                          })
}
1 resposta

Uma forma bacana que você pode fazer esse retorno é utilizando ES6 Async / Await, dessa forma:

async function getIp() {
  const response = await fetch("https://extreme-ip-lookup.com/json", { method: "get" });
  const responseData = await response.json();
  return responseData.query;
}

async function main() {
  const ip = await getIp();
  console.log("ip", ip);
}

main();