Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

91
Vistas
La función sigue inicializando la variable local en lugar de usar la variable existente

Soy nuevo en javascript y estoy tratando de obtener un montón de tareas de diferentes proyectos de todoist y tratando de asignar una etiqueta para esas tareas.

 const task_list = {}; for (let id of project_id) { api.getTasks({ projectId: id, filter: "(today | overdue | p1) & !subtask" }) .then((tasks) => { Object.assign(task_list, { id: tasks }); console.log(task_list)}) .catch((error) => console.log(error)) } for (let id of project_id) { console.log(id) console.log(task_list.id) }

Este es actualmente mi borrador para el código. El archivo console.log en el bucle for en la parte inferior está imprimiendo sin definir, pero el archivo console.log detrás de Object.assign puede imprimir el resultado correcto.

Por favor ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Está reemplazando la clave de identificación del objeto task_list para cada iteración, porque Object.assign copia las claves y los valores de un objeto al objeto de destino, que es task_list en su caso.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

si está intentando crear una tabla hash para realizar un seguimiento de todas las tareas por ID

podrías mutar la lista de tareas y asignarla por id.

 task_list[id] = tasks

o reemplace la task_list original usando Object.assign

 const new_task_list = {} new_task_list[id] = tasks task_list = Object.assign(task_list, new_task_list)

o usando la sintaxis es6

 Object.assign(task_list,{[id]:tasks})

dentro de su ciclo posterior puede acceder al valor de la tarea usando la clave de identificación

 for (let id of project_id) { console.log(task_list[id].id) }

Además, el último ciclo imprimirá un objeto vacío porque se ejecutará antes de que api.getTasks complete la solicitud, deberá crear una matriz para guardar todas las promesas y luego usar

 Promise.all(promises).then(() => { // your loop here })

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda