---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../../modules.md) / [operations/jobs](../index.md) / waitForJob

# Function: waitForJob()

> **waitForJob**(`instance`, `jobId`, `executionId`, `options`): `Promise`\<\{ \}\>

Defined in: [packages/b2c-tooling-sdk/src/operations/jobs/run.ts:221](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/operations/jobs/run.ts#L221)

Waits for a job execution to complete.

Polls the job status until it reaches a terminal state (finished or aborted).

## Parameters

### instance

[`B2CInstance`](../../../instance/classes/B2CInstance.md)

B2C instance

### jobId

`string`

Job ID

### executionId

`string`

Execution ID to wait for

### options

[`WaitForJobOptions`](../interfaces/WaitForJobOptions.md) = `{}`

Wait options

## Returns

`Promise`\<\{ \}\>

Final execution status

## Throws

Error if job fails (status ERROR or aborted)

## Throws

Error if timeout is exceeded

## Example

```typescript
// Simple wait
const result = await waitForJob(instance, 'my-job', 'exec-123');

// With poll callback
const result = await waitForJob(instance, 'my-job', 'exec-123', {
  onPoll: (info) => {
    console.log(`Status: ${info.status} (${info.elapsedSeconds}s elapsed)`);
  }
});
```
