# General Translation Platform: checkJobStatus URL: https://generaltranslation.com/zh/docs/platform/core/reference/gt-class-methods/translation/check-job-status.mdx --- title: checkJobStatus description: 检查翻译任务或 setup 任务的当前状态。checkJobStatus 的 API 参考。 --- 通过轮询任务状态来监控由 [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) 或 [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) 发起的异步操作。 ## 概览 [#overview] 使用一组任务 ID 调用 `checkJobStatus`。它会返回一个扁平数组,其中每个任务 都对应一个状态对象。 | 项目 | 说明 | 类型 | 可选 | 默认 | | -------------------------- | ---------------------- | ------------------------------- | -- | ------- | | [`jobIds`](#job-ids) | 要检查的唯一任务标识符。 | `string[]` | 否 | — | | [`timeoutMs`](#timeout-ms) | API 请求的超时时间 (以毫秒为单位) 。 | `number` | 是 | `60000` | | [返回值](#returns) | 每个请求的任务对应的状态对象。 | `Promise` | — | — | ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const statuses = await gt.checkJobStatus(['job-123', 'job-456']); statuses.forEach((job) => console.log(`${job.jobId}: ${job.status}`)); ``` 签名: ```typescript checkJobStatus( jobIds: string[], timeoutMs?: number ): Promise ``` *注意:`checkJobStatus` 要求 GT 实例上提供 `apiKey` (或 `devApiKey`) 和 `projectId`。要检查 setup 任务 的状态,请先调用 [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) 和 [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project)。* ## 工作原理 [#how-it-works] * **批量检查。** 你可以通过一次调用检查多个任务,以提高效率。 * **任务来源。** 任务 ID 来自 [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) 或 [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files);请将它们保存下来,以便稍后检查状态。 对于 [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) 返回的翻译任务,请使用 [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs) 而不是手动轮询。对于初始化作业 ID,请使用 `checkJobStatus` 进行轮询。 ## 参数 [#parameters] | 参数 | 说明 | 类型 | 可选 | 默认值 | | -------------------------- | --------------------- | ---------- | -- | ------- | | [`jobIds`](#job-ids) | 要检查的唯一 任务 标识符。 | `string[]` | 否 | — | | [`timeoutMs`](#timeout-ms) | API 请求超时时间 (以毫秒为单位) 。 | `number` | 是 | `60000` | ### `jobIds` [#job-ids] **类型** `string[]` · **必填** 要检查的 任务 的唯一标识符。 ### `timeoutMs` [#timeout-ms] **类型** `number` · **可选** · **默认** `60000` 请求超时时间 (以毫秒为单位) 。 ## 返回值 [#returns] **类型** `Promise` 解析结果为任务状态对象的扁平数组: ```typescript type CheckJobStatusResult = { jobId: string; status: JobStatus; error?: { message: string }; }[]; ``` | 属性 | 描述 | 类型 | | -------- | ---------------------- | ------------------------- | | `jobId` | 被检查的 任务 标识符。 | `string` | | `status` | 任务 的当前状态。 | [`JobStatus`](#jobstatus) | | `error` | 状态为 `'failed'` 时的错误信息。 | `{ message: string }` | ### `JobStatus` ```typescript type JobStatus = 'queued' | 'processing' | 'completed' | 'failed' | 'unknown'; ``` * `'queued'` — 任务 正在等待处理。 * `'processing'` — 任务 当前正在执行。 * `'completed'` — 任务 已成功完成。 * `'failed'` — 任务 处理时发生错误并失败。 * `'unknown'` — 无法确定 任务 的状态。 ## 示例 [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); const fileRefs = [ { fileId: 'file-123', versionId: 'version-456', branchId: 'branch-789', fileName: 'app.json', fileFormat: 'JSON', }, { fileId: 'file-789', versionId: 'version-012', branchId: 'branch-789', fileName: 'content.md', fileFormat: 'MD', }, ]; const setupResult = await gt.setupProject(fileRefs); async function pollJobStatus(jobIds: string[]) { const status = await gt.checkJobStatus(jobIds); status.forEach((job) => { console.log(`Job ${job.jobId}:`); console.log(` Status: ${job.status}`); if (job.error) { console.log(` Error: ${job.error.message}`); } }); return status; } if (setupResult.status === 'queued') { const jobStatus = await pollJobStatus([setupResult.setupJobId]); } ```