context.states
向清单中声明的状态来源发布当前值。
Documentation content is currently available in Simplified Chinese.
状态来源先在 stateSources 中声明。发布后,流程表达式和超级块可以读取这个值。完整示例见发布状态。
#publish()
更新本插件的一个状态来源。
context.states.publish(sourceId: string, value: unknown,
target?: { deviceId: string; screenId?: string; blockId?: string }): Promise<{ published: boolean }>#参数
| 名称 | 类型 | 说明 |
|---|---|---|
sourceId |
string |
清单中的状态来源 ID。 |
value |
unknown |
符合来源 Schema 的 JSON 值。false、0 和空字符串都是可用值;暂时没有值时,等数据就绪后再发布。 |
target |
object |
全局来源省略。设备来源传 deviceId;屏幕来源再传 screenId;实例来源再传 blockId。 |
#返回值
Promise 解析为 { published: boolean }。飞块按来源的类型、作用域和大小检查数据,失败时 Promise 拒绝。
#示例
await context.states.publish("playback", "playing");
await context.states.publish("count", 3, {
deviceId: request.deviceId,
screenId: request.screenId,
blockId: request.blockId
});