获取和操作数据编辑

到目前为止,你只看到表达式作为生成可视化的一种方式,但实际上并非如此。表达式只生成数据,然后这些数据被用来创建一些东西,在 Canvas 的情况下,这意味着渲染一个元素。一个元素可以是一个由数据驱动的可视化,但它也可以是更简单的东西,比如一个静态图像。无论哪种方式,表达式都用于生成一个输出,该输出用于渲染所需的结果。例如,以下是一个显示图像的表达式

image dataurl=https://placekitten.com/160/160 mode="cover"

但正如所提到的,这实际上并没有渲染该图像,而是生成一些可以用来渲染该图像的输出。这是一个重要的区别,你可以通过添加渲染函数并告诉它生成调试输出来查看实际的输出。例如

image dataurl=https://placekitten.com/160/160 mode="cover"
| render as=debug

以下显示为 JSON 输出

{
  "type": "image",
  "mode": "cover",
  "dataurl": "https://placekitten.com/160/160"
}

你可能需要扩展元素的大小才能看到整个输出。

Canvas 使用此输出的数据类型映射到一个特定的渲染器,并将整个输出传递给它。图像渲染函数负责在工作台页面上生成图像。在这种情况下,表达式生成一些 JSON 输出,但表达式也可以生成其他更简单的数据,比如字符串或数字。通常,有用的结果使用 JSON。

Canvas 使用输出渲染一个元素,但其他应用程序可以使用表达式来完成几乎任何事情。如前所述,表达式只是执行函数,而函数都是用 Javascript 编写的。这意味着如果你可以用 Javascript 做某事,你就可以用表达式来做。

这可能包括

  • 发送电子邮件
  • 发送通知
  • 从文件读取
  • 写入文件
  • 使用 WebUSB 或 Web Bluetooth 控制设备
  • 使用外部 API

如果你的 Javascript 在代码将运行的环境中工作,比如 Node.js 或浏览器,你就可以用表达式来做。