• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

160
Vistas
espere el valor de la función de retorno antes de que se active la devolución de llamada

Estoy tratando de crear un módulo que obtenga toda la información una por una y la almacene en una matriz al final, devuelve la matriz, en lugar del bucle que estoy usando recursividad. El problema aquí es que mi función principal no está esperando el valor devuelto, por lo que no se pasa ningún valor en la devolución de llamada. Puedo volver a escribir esta espera asincrónica o promesa, pero si el mismo tipo de problema está presente en todo el proyecto, no quiero volver a escribir todo. Esto puede ser manejado por devoluciones de llamada? o de alguna otra manera puedo resolverlo.

 const GetRequest = require("./getRequest.js"); module.exports = function GetProcessList(environment, token, processCompleteList, callback) { var allProcessDraft = []; var loopMaxRun = processCompleteList.data.length -1; var a = RecursiveGet(environment, token, processCompleteList, allProcessDraft, loopMaxRun); callback(a); //Not waiting for the value } //recursion function to get all the data one by one function RecursiveGet(environment, token, processCompleteList, allProcessDraft, index) { var URL = "https://" + environment + "...../rest/process/versionPage?calledFrom=master&pageNo=0&processMasterId=" + processCompleteList.data[index].id + "&recordsPerPage=10&sortType=DESC"; if (index != 0) { GetRequest(URL, token, function (processDraft) { allProcessDraft.push(processDraft); return RecursiveGet(environment, token, processCompleteList,allProcessDraft, index -1); }); } else { return allProcessDraft; } }
almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Pruebe el siguiente código.

 async function RecursiveGet(environment, token, processCompleteList, allProcessDraft, index) { var URL = "https://" + environment + "...../rest/process/versionPage?calledFrom=master&pageNo=0&processMasterId=" + processCompleteList.data[index].id + "&recordsPerPage=10&sortType=DESC"; if (index != 0) { const processedDraft = await GetRequest(URL, token); allProcessDraft.push(processDraft); return RecursiveGet(environment, token, processCompleteList,allProcessDraft, index -1); } else { return allProcessDraft; } }

nota: asegúrese de que GetRequest sea asíncrono

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda