• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

214
Views
Vue Js Mientras estaba dentro de la función que llamé con Axios get, imprimí los datos entrantes en la matriz

Dentro de la función en la captura de pantalla, estoy agregando los datos de la función de back-end a la matriz con axios.get. Pero cuando salgo de axios, los valores de la matriz que imprimo no están definidos.

Obtengo el valor de cadena del backend. Quiero poder usarlo en diferentes métodos devolviéndolo. Por favor, ayúdame. No puedo encontrar la solución.

 getReasonsForWaitingCustomer() { this.adimKodlariLastString = ""; if (this.$route.params.status == "musteri-bekleniyor") { axios.get(URL + "xxx/xxx?xxx=xxx) .then(response => { for (var i = 0; i < response.data.data.length; i++) { if (this.stepCode.includes(response.data.data[i].adim_kodu) == false) { this.stepCode.push(response.data.data[i].adim_kodu); } } for (var j = 0; j < this.stepCode.length; j++) { this.adimKodlari += this.stepCode[j] + ","; } this.adimKodlariLastString = this.adimKodlari.slice(0, -1); console.log("inAxiosThen",this.adimKodlariLastString); }) } console.log("afterAxios",this.adimKodlariLastString); return "apfapofapkapfka" --> It's working return this.adimKodlariLastString --> It's not working. I want this to work. },

En los ejemplos de soluciones que revisé, el valor entrante se usó en las etiquetas html. Pero quiero poder usar el valor entrante en los métodos.

Cuando los valores de cadena que quiero usar están en .then (respuesta), puedo obtenerlos cuando presiono la consola.

Cuando presiono la consola que no sea .then() no obtengo los valores.

almost 3 years ago · Santiago Trujillo
3 answers
Answer question

0

No obtendrá ningún dato de esta manera porque las llamadas axios son asíncronas. La forma más fácil y limpia es:

 const response = await axios.get('url') console.log(response.data) this.adimKodlariLastString = response.data // and then you could do your logic

Alternativamente, para que funcione con su código, simplemente puede agregar:

 await

antes de axios (podría hacerlo con promesas puras pero terminará obteniendo Promise dentro de Promise).

almost 3 years ago · Santiago Trujillo Report

0

Actual, este es el último estado de mi función. esto está funcionando La devolución es exitosa.

 async getReasonsForWaitingCustomer() { let adimKodlariLastString = ""; let stepCode = []; let adimKodlari = ""; if (this.$route.params.status == "xxx") { const response = await axios.get(URL + "xxx/xxx"); for (var i = 0; i < response.data.data.length; i++) { if (stepCode.includes(response.data.data[i].adim_kodu) == false) { stepCode.push(response.data.data[i].adim_kodu); } } for (var j = 0; j < stepCode.length; j++) { adimKodlari += stepCode[j] + ","; } adimKodlariLastString = adimKodlari.slice(0, -1); } console.log("adimKodu",adimKodlariLastString); return adimKodlariLastString; },

Promesa en consola

Miré sus soluciones, pero no entendí nada. En las soluciones, asignaron manualmente un valor y llamaron al resultado. No tengo idea de cómo obtener mis datos entrantes en PromiseResult.

almost 3 years ago · Santiago Trujillo Report

0

Buenas noticias. Encontré la solución de este problema. Espero que sea útil para aquellos que están buscando una solución. Como mencioné, dije que quería usar el valor que venía como mensaje en otra función.

Me llaman con éxito mis valores en esta función

Convierto esta función en async. Traje la primera función como await.

Último resultado en la consola

almost 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error