---
name: "up.RenderJob"
area: "API"
kind: "class"
parent: "up.fragment module"
url: "https://unpoly.com/api/up.RenderJob"
---
<nav aria-label="Unpoly docs">[All docs](https://unpoly.com/index.md) · [up.fragment module](https://unpoly.com/api/up.fragment.md)</nav>

# `up.RenderJob`

A queued render task.

Rendering functions like [`up.render()`](https://unpoly.com/api/up.render.md) or [`up.submit()`](https://unpoly.com/api/up.submit.md) return an `up.RenderJob`. Callers can inspect the job's [render options](https://unpoly.com/api/up.RenderJob.prototype.renderOptions.md) or [`await` its completion](https://unpoly.com/learn/render-lifecycle.md#running-code-after-rendering).

See [render hooks](https://unpoly.com/learn/render-lifecycle.md) for examples of awaiting rendering completion and how to handle errors.

## Example {#example}

```js
let job = up.render('.foo', { url: '/users' })
console.log(job.renderOptions.target) // logs ".foo"
console.log(job.renderOptions.url) // logs "/users"
let renderResult = await job // fragments were updated
console.log(renderResult.fragment) // logs the updated fragment
let finalResult = await job.finished // animations are done and cached content was revalidated
console.log(finalResult.fragment) // logs the revalidated fragment
```

---

## Features {#features}

- ### [up.RenderJob.prototype.finished](https://unpoly.com/api/up.RenderJob.prototype.finished.md) (Property)

  A promise that fulfills when fragments were updated and all postprocessing steps have concluded.

- ### [up.RenderJob.prototype.renderOptions](https://unpoly.com/api/up.RenderJob.prototype.renderOptions.md) (Property)

  The render options for this job.

- ### [up.RenderJob.prototype.then(onFulfilled, onRejected)](https://unpoly.com/api/up.RenderJob.prototype.then.md) (Instance method)

  An `up.RenderJob` is also a promise for its completion.

