# Task Target Dependencies

For a task that has more than one target (method) you can specify dependencies that will run, in the order specified, prior to your final target.  Specify task target dependencies as a comma-delimited list in a `depends` annotation on the target function itself.  There is no limit to how many target dependencies you can have, nor how deep they can nest. &#x20;

```javascript
component {

  function run() depends="runMeFirst" {
  }
  
  function runMeFirst() {
  }
  
}
```

Given the above Task Runner, typing

```bash
task run
```

would run the `runMeFirst()` and `run()` method in that order. &#x20;

Any parameters passed to the target will also be passed along to methods who are dependencies.  Don't forget, task CFCs are re-created every time they are executed as transients, so feel free to borrow the `variables` scope inside the CFC to share state between methods.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://commandbox.ortusbooks.com/5.9.0/task-runners/task-target-dependencies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
