调用云函数

该模块允许用户创建、编写运行于知晓云云引擎上的代码。适用于一些对安全性有要求,功能复杂、需求个性化的业务场景。配合触发器可以帮助开发者实现功能复杂的小程序。

{% block tips1 %}

info 调用云函数,需要先在控制台创建云函数 控制台 - 云函数 新建云函数

请求示例

假设已经创建了一个云函数 helloWorld,其接受一个 name 作为参数,返回 hello ${name}。云函数代码如下:

  1. exports.main = function helloWorld(event, callback) {
  2. console.log(event)
  3. callback(null, `hello ${event.data.name}`)
  4. }

可在 Flutter 中通过以下方式进行调用云函数:

{% endblock tips1 %}

  1. try {
  2. var result = await invokeCloudFunction(name: "helloWorld", data: {"name": "BaaS"}, sync: true);
  3. // 操作成功
  4. } on HError catch(e) {
  5. // 操作失败
  6. }

云函数执行相关错误码如下:

404 传入的参数 name 不合法

400 云函数调度/执行失败

HError 对象结构请参考错误码和 HError 对象

参数说明

参数 类型 必填 说每个
name String 云函数名
data Map<String, dynamic> 传递给云函数的参数
sync Bool 是否等待返回函数执行结果,默认为 true。同步与异步云函数有不同的超时时间,同步云函数为 5 秒,而异步云函数为 5 分钟(300 秒)

返回参数说明

参数 类型 描述
result 由云函数返回的数据类型决定 函数通过 callback 返回的数据,详细如下面 result 样例

result

  1. {
  2. "error": {},
  3. "code": 0,
  4. "data": "hello BaaS"
  5. }

sync 为 false 时返回示例

  1. {
  2. "error": {},
  3. "code": 0,
  4. "data": {"status": "ok"}
  5. }