--- sidebar_position: 3 --- import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import CodeBlock from "@theme/CodeBlock"; # query The `query` object contains the parameters required to run queries and access the query data. ## Properties The query object has the following properties that you can use to reference the query's response or check the status of the query. ### data `Array`
`data` is a read-only property that contains the response body from the last successful execution of this query. ``` {{Query1.data}} ``` If this property is referenced in a widget's property field, the query is automatically run on page load. You can manually enable a query to run on page load from the [query settings](/connect-data/reference/query-settings).
### responseMeta `object`
The `responseMeta` object contains details about the response, such as the status code, headers, and other relevant information related to the query's execution and the server's response. ``` {{Query1.responseMeta}} ```
## Methods Query object has the following methods that enable you to run a query or clear a query response. ### query.run()
When you call the `run()` function of a query, it executes the query. #### Signature ``` run(params: Object): Promise ``` | Argument | Description | | ---------- | ---------------------------------------------------------------------------------------------------------------------------- | | **params** | An object containing key-value pairs to pass into the query. You can access it using the key - `{{ this.params.KEY_NAME }}`. | `run()` is an asynchronous function that returns a promise and thus sequential code may not have the updated response of the query. Sequential code can be executed using the `.then()` and `.catch()` methods or the `async/await` syntax. The run function can't be invoked inside widget data properties but can be invoked from event handlers such as onClick. ```javascript // Using promise syntax to chain actions in sequence {{ Query1.run(params) .then((response) => {...}) // run after the query is successful .catch(() => {...}) // run if the query encounters any errors }} ``` In certain scenarios, such as when running a query inside a loop, it may be necessary to pass parameters to the query with values that are contextual to the execution. For more information, see [Pass Parameters to Queries](/connect-data/how-to-guides/how-to-pass-params-to-an-api).
### query.clear()
This function clears all data from the query's `data` property. ``` {{Query1.clear()}} ```
## See also - [Pass Runtime Parameters to Queries](/connect-data/how-to-guides/how-to-pass-params-to-an-api)