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

163
Vistas
Error de Javascript macOS: los parámetros con nombre deben pasarse como un objeto

Estoy tratando de implementar la automatización para el administrador de tareas Things 3 en macOS usando JXA (Javascript para la automatización de macOS) y lo estoy ejecutando con un error extraño. He pasado incontables horas tratando de arreglar esto yo mismo y con la ayuda de otros. Estoy tratando de usar el siguiente método descrito en la documentación:

método_programación

De la siguiente manera:

 // Set TaskApp as the app to use var TaskApp = Application('Things3'); // Get the ToDo from toDos var task = TaskApp.toDos["test555342343"] // Get today as a date var today = new Date() // Schedule the task for Today task.schedule(task.id(), {for: today})

Esto devuelve el error: Error: Error: Named parameters must be passed as an object.

Cuando se usa otro método (como show ), el especificador funciona como se esperaba:

ingrese la descripción de la imagen aquí

Ejemplo:

 // Set TaskApp as the app to use var TaskApp = Application('Things3'); // Get the ToDo from toDos var task = TaskApp.toDos["test555342343"] // Bring Things3 to the Forground TaskApp.activate() // Show the task task.show(task.id())

Mostrará la tarea seleccionada. La creación de una tarea con una fecha límite establecida en el objeto de date también produce el resultado correcto (una tarea con la fecha límite de date ).

Esta documentación solo se puede encontrar cuando tiene Things3 instalado en macOS y hace referencia a la biblioteca de scripts. He añadido la documentación en PDF. El error descrito también se aplica al método de move . En lugar de analizar una fecha, analiza un List Object que se resolverá en el mismo error.

Enlace a la documentación PDF → Enlace

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

0

La documentación de Things es incorrecta: la schedule es un método de Application , no de ToDo , por lo que solicita un especificador de tareas pendientes (no lo necesitaría si ya fuera una propiedad de un objeto ToDo). El código de trabajo por lo tanto es:

 // Set TaskApp as the app to use var TaskApp = Application('Things3') // Get the ToDo from toDos var task = TaskApp.toDos["test555342343"] // Get today as a date var today = new Date() // Schedule the task for Today TaskApp.schedule(task, {for: today})

Tenga en cuenta que la task ya es un especificador de ToDo; no necesita el desvío a través task.id() , que convierte el especificador ToDo en una cadena de ID antes de permitir que el método de schedule lo devuelva a un especificador.

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