文档管理中心

调用函数

约束与限制

支持Phone、Tablet设备。并且从5.1.0(18)版本开始,新增支持Wearable设备;从5.1.1(19)版本开始,新增支持TV设备;从6.1.0(23)版本开始,新增支持PC/2in1设备。

设置云函数配置项

在“entry/src/main/module.json5”文件中添加网络权限。

收起
自动换行
深色代码主题
复制
  1. "requestPermissions": [
  2. {
  3. "name": "ohos.permission.INTERNET"
  4. }
  5. ]

查询函数名和版本

在函数的触发器页面点击“HTTP触发器”,查看“触发URL”的后缀,获取触发器的标识,格式为“函数名-版本号”。如下图所示,“myhandlerxxxx-$latest”即为HTTP触发器标识,其中“myhandlerxxxx”为函数名,“$latest”为版本号。

在应用中调用函数

  1. 导入相关模块。

    收起
    自动换行
    深色代码主题
    复制
    1. import { cloudFunction } from '@kit.CloudFoundationKit';
    2. import { BusinessError } from '@kit.BasicServicesKit';
    3. import { hilog } from '@kit.PerformanceAnalysisKit';
  2. 调用call()方法设置函数,在方法中传入函数名称,返回调用结果。

    • (可选)通过设置timeout属性对云函数设置超时时长,单位为ms。
    • (可选)通过设置version属性对云函数设置函数版本号,默认为最新版本'$latest'。
    • (可选)如果函数有入参,可以将data参数转化为JSON对象或JSON字符串传入,如果没有参数则不传。

    使用Promise异步回调:

    收起
    自动换行
    深色代码主题
    复制
    1. cloudFunction.call({
    2. name: 'sort', // sort需替换为实际的函数名
    3. version: '$latest', // 如果不传入版本号,默认为“$latest”。
    4. timeout: 10 * 1000, // 单位为ms,默认为70*1000ms。
    5. data: {
    6. // data为函数请求体
    7. param1: 'val1',
    8. param2: 'val2'
    9. }
    10. }).then((res: cloudFunction.FunctionResult) => {
    11. hilog.info(0x0000, 'function', `Succeeded in calling the function, result: ${JSON.stringify(res.result)}`);
    12. }).catch((err: BusinessError) => {
    13. hilog.error(0x0000, 'function', `Failed to call function , code: ${err.code}, message: ${err.message}`);
    14. });

    或者,使用callback异步回调:

    收起
    自动换行
    深色代码主题
    复制
    1. cloudFunction.call({
    2. name: 'sort-id', // sort-id需替换为实际的函数名
    3. version: '$latest', // 如果不传入版本号,默认为“$latest”。
    4. timeout: 10 * 1000, // 单位为ms,默认为70*1000ms。
    5. data: {
    6. // data为函数请求体
    7. param1: 'val1',
    8. param2: 'val2'
    9. }
    10. }, (err: BusinessError, res: cloudFunction.FunctionResult) => {
    11. hilog.info(0x0000, 'function', `Succeeded in calling the function, result: ${JSON.stringify(res.result)}`);
    12. if (err) {
    13. hilog.error(0x0000, 'function', `Failed to call function , code: ${err.code}, message: ${err.message}`);
    14. return;
    15. }
    16. });
在 指南 中进行搜索
请输入您想要搜索的关键词