Skip to main content
Element Software
12.7
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

GetAsyncResult

Colaboradores

Puede utilizar GetAsyncResult para recuperar el resultado de las llamadas de método asíncrono. Algunas llamadas a métodos requieren cierto tiempo para ejecutarse y es posible que no se hayan completado cuando el sistema envía la respuesta inicial. Para obtener el estado o el resultado de la llamada al método, utilice GetAsyncResult Para sondear el valor de la mano devuelto por el método.

GetAsyncResult devuelve el estado general de la operación (en curso, completado o error) de forma estándar, pero los datos reales devueltos para la operación dependen de la llamada al método original y los datos devueltos se documentan con cada método.

Si falta el parámetro keepResult o FALSE, el comando establish asyncHandle se desactiva cuando se devuelve el resultado, y más tarde intenta consultar que el comando establish devuelvan un error. Puede mantener activo el comando establish de la ley para consultas futuras estableciendo el parámetro keepResult en TRUE.

Parámetros

Este método tiene los siguientes parámetros de entrada:

Nombre Descripción Tipo Valor predeterminado Obligatorio

Establish asyncHandle

Valor devuelto por la llamada de método asíncrono original.

entero

Ninguno

KeepResult

Si es True, GetAsyncResult no elimina el resultado asíncrono al devolverlo, lo que permite consultas futuras a ese establish de generar datos.

booleano

falso

No

Valores devueltos

Este método tiene los siguientes valores devueltos:

Nombre Descripción Tipo

estado

Estado de la llamada de método asíncrono. Los posibles valores son los siguientes:

  • Running: El método se sigue ejecutando.

  • Completo: El método está completo y el resultado o error está disponible.

cadena

resultado

Si el método asíncrono se completó correctamente, esto es el resultado de la operación asíncrona. Si la operación asíncrona falla, este miembro no está presente.

cadena

error

Si el estado es completo y el método asíncrono con errores, este miembro incluye los detalles del error. Si la operación asincrónica se realiza correctamente, este miembro no está presente.

cadena

ResultType

Tipo de operación que está realizando o estaba realizando la llamada de método asíncrono.

cadena

detalles

Si el estado es en ejecución, este miembro incluye información relevante para la operación actual del método. Si el método asíncrono no se está ejecutando, este miembro no está presente.

Objeto JSON

CreateTime

La hora a la que se llamó al método asíncrono, en formato UTC+0.

Cadena de fecha ISO 8601

LastUpdateTime

La hora a la que se actualizó por última vez el estado del método asíncrono, en formato UTC+0.

Cadena de fecha ISO 8601

Nota: el valor devuelto de GetAsyncResult es esencialmente una versión anidada de la respuesta JSON estándar con un campo de estado adicional.

Ejemplo de solicitud

Las solicitudes de este método son similares al ejemplo siguiente:

{
  "method": "GetAsyncResult",
  "params": {
      "asyncHandle" : 389
},
"id" : 1
}

Ejemplo de respuesta: Error de método

Este método devuelve una respuesta similar al siguiente ejemplo:

{
   "error": {
      "code": 500,
      "message": "DBClient operation requested on a non-existent path at [/asyncresults/1]",
      "name": "xDBNoSuchPath"
   },
   "id": 1
}

Si la "respuesta" fuera el objeto de respuesta JSON de la llamada GetAsyncResult, entonces "Response.error" correspondería a un error con el propio método GetAsyncResult (como consultar un handle no existente).

Ejemplo de respuesta: Error de tarea asíncrona

Este método devuelve una respuesta similar al siguiente ejemplo:

{
   "id": 1,
   "result": {
     "createTime": "2016-01-01T02:05:53Z",
     "error": {
       "bvID": 1,
       "message": "Bulk volume job failed",
       "name": "xBulkVolumeScriptFailure",
       "volumeID": 34
     },
     "lastUpdateTime": "2016-01-21T02:06:56Z",
     "resultType": "BulkVolume",
     "status": "complete"
   }
}

El "esponse.result.error" correspondería a un resultado de error de la llamada al método original.

Ejemplo de respuesta: Tarea asíncrona correcta

Este método devuelve una respuesta similar al siguiente ejemplo:

{
   "id": 1,
   "result": {
     "createTime": "2016-01-01T22:29:18Z",
     "lastUpdateTime": "2016-01-01T22:45:51Z",
     "result": {
       "cloneID": 25,
       "message": "Clone complete.",
       "volumeID": 47
     },
     "resultType": "Clone",
     "status": "complete"
   }
}

"Esponse.result.result" es el valor devuelto por la llamada al método original si la llamada se ha completado correctamente.

Nuevo desde la versión

9.6