获取全局节点
概述
Get Global节点用于检索在所有图表和子图表之间共享的全局值。全局值的ID在此节点中配置。
可以配置该节点按需获取值,这意味着它将在节点需要时读取,而不是在此节点执行时读取。当全局值可能在图执行期间发生变化时,这非常有用。
该节点也可以配置为等待直到变量可用。当全局值由另一个节点设置时,这非常有用,因为在该节点运行时,另一个节点可能尚未完成其执行。
- 输入
- 输出
- 编辑器设置
输入项
标题 | 数据类型 | 描述 | 默认值 | 备注 |
---|---|---|---|---|
Variable ID | string | The ID of the global variable to retrieve. This input is only available if the "Use Input" toggle is checked. | N/A | The input will be coerced into a string if it is not a string. |
输出
标题 | 数据类型 | 描述 | 备注 |
---|---|---|---|
值 | (任意) | 全局变量的值。 | 输出的数据类型将与全局变量的数据类型相同。 |
编辑器设置
设置 | 描述 | 默认值 | 使用输入切换 | 输入数据类型 |
---|---|---|---|---|
Variable ID | The ID of the global variable to retrieve. | (required) | Yes | string |
Data Type | The data type of the global variable. | string | No | N/A |
按需 | 如果启用,全局变量将在节点需要时读取,而不是在本节点执行时读取。不能与"Wait"一起使用。 | True | No | N/A |
等待 | 如果启用,节点将等待直到变量可用。不能与"按需"一起使用。 | False | No | N/A |
示例1:获取全局变量
- 在图中添加一个Set Global Node。使用Text Node将变量名设置为
myGlobalVariable
,并将值设为Hello World
。 - 在图的另一部分,添加一个Delay Node并将延迟设置为
1000
(1秒)。 - 创建一个Text Node并将文本设置为
myGlobalVariable
。将文本传递到Delay Node中。 - 创建一个Get Global节点,启用"Variable Name"的输入,并将Delay节点的输出传递到该输入中。禁用"On Demand"设置。
示例2:按需检索全局变量
- 在图中添加一个Set Global Node。使用Text Node将变量名称设置为
myGlobalVariable
,并将值设置为Hello World
。 - 添加一个Get Global节点,并将变量名称设置为
myGlobalVariable
。启用"On Demand"设置。 - 添加一个If Node。将
If
输入设置为Set Global Node,并将Value
输入设置为Get Global Node。这将等待两个节点都完成后再运行,并将Get Global Node的值传递给下一个节点。 - 添加一个文本节点并将If节点连接到文本节点。
- 运行图表。请注意,If节点的值为
Function
,因为启用了"On-Demand"设置,导致该值尚未解析。该值在Text节点中被解析,并显示"Hello World"。
错误处理
如果未找到全局变量且Wait
设置被禁用,Get Global节点将报错。如果启用了Wait
设置,该节点将等待直到变量可用。
常见问题
问:什么是全局变量?
A: 全局变量是一个在所有图表和子图表之间共享的值。它通过Set Global Node进行设置,并通过Get Global Node进行获取。
问:我能否从父应用程序设置一个全局变量?
A: 不可以,全局变量只能在图表内部设置。请改用Context Node来访问由父应用程序设置的全局变量。
问:如果找不到全局变量会发生什么?
A: 如果未找到全局变量且Wait
设置被禁用,Get Global节点将返回所选数据类型的默认值。例如,如果数据类型设置为string
,默认值将是一个空字符串。如果启用了Wait
设置,该节点将等待直到变量可用后再返回值。