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

150
Visualizações
El método asíncrono no recupera la información en el orden correcto

En Vue.js, tengo este método:

 async deleteItemFromDb(item_id) { const dbUser = this.settings.db_user const dbCreds = this.settings.db_creds const dbUrl = "http://127.0.0.1:9878/items/" const headers = { "Content-Type": "application/json", "Authorization": "Basic " + btoa(dbUser + ":" + dbCreds) } let getUrl = dbUrl + item_id const projectData = await fetch(getUrl, { method: "GET", headers: headers, mode: "cors", credentials: "include" }) let delUrl = dbUrl + await projectData._id + "?rev=" + await projectData._rev const deleteItem = await fetch(delUrl, { method: "DELETE", headers: headers, mode: "cors", credentials: "include" }) console.log("Item deleted from DB:", deleteItem.data) }

Lo que sucede aquí es que projectData no informa ningún error, por lo que el método de búsqueda se inicia correctamente, pero deleteItem regresa con algo como:

 DELETE http://127.0.0.1:9878/items/undefined?rev=undefined 404 (Object Not Found)

Además, console.log devuelve undefined como los datos.

Supongo que los datos no logran volver lo suficientemente pronto como para formar el delUrl correctamente. Pero, ¿cuál es el orden correcto, o más bien qué variables deben marcarse aquí como await ?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

fetch() debe seguirse con una llamada a .json() (o una de las otras funciones si espera un formato de datos diferente)

 const response = await fetch(getUrl, { method: "GET", headers: headers, mode: "cors", credentials: "include" }) const data = await response.json(); let delUrl = dbUrl + data._id + "?rev=" + data._rev
about 4 years ago · Juan Pablo Isaza Relatório

0

Elimine la espera de la siguiente declaración

 const projectData = await fetch(getUrl, { method: "GET", headers: headers, mode: "cors", credentials: "include" }).json(); // change added let delUrl = dbUrl + projectData._id + "?rev=" + projectData._rev; // removed await
about 4 years ago · Juan Pablo Isaza Relatório
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