You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TypeScript SDK时如何判断是否处于Temporal工作流运行环境

判断代码是否运行在Temporal工作流环境(TypeScript SDK)

最直接且可靠的方式是使用Temporal TypeScript SDK提供的内置函数isInWorkflow(),它会返回布尔值,标识当前代码是否处于工作流的执行上下文当中。

代码示例

import { isInWorkflow } from '@temporalio/workflow';

// 检查当前环境
if (isInWorkflow()) {
  // 工作流环境内的处理逻辑
  console.log('当前处于Temporal工作流执行上下文');
} else {
  // 非工作流环境(如活动代码、客户端代码、普通Node.js环境)的处理逻辑
  console.log('当前不在Temporal工作流执行上下文');
}

补充说明

  • isInWorkflow()通过检查当前是否存在Temporal工作流的隔离执行上下文来判断环境:工作流代码运行在Worker的沙箱环境中,活动、客户端代码则运行在普通Node.js环境,因此该函数能准确区分两种场景。
  • 不建议通过捕获工作流特有API(如getCurrentWorkflowId())的异常来判断环境,这种方式代码冗余且可能引入不必要的错误处理逻辑,isInWorkflow()是官方推荐的标准方法。

内容的提问来源于stack exchange,提问作者Raz Luvaton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 06:28:10