管理中心

cloudFunction (云函数模块)

Phone5.0.0(12)+PC/2in16.1.0(23)+Tablet5.0.0(12)+TV5.1.1(19)+Wearable5.1.0(18)+

本模块提供调用云函数的能力。

起始版本: 5.0.0(12)

导入模块

收起
自动换行
深色代码主题
复制
  1. import { cloudFunction } from '@kit.CloudFoundationKit';

call

Phone5.0.0(12)+PC/2in16.1.0(23)+Tablet5.0.0(12)+TV5.1.1(19)+Wearable5.1.0(18)+

call(parameters: FunctionParams, callback: AsyncCallback<FunctionResult>): void

调用云函数时使用,使用云函数实现的功能。使用callback异步回调。

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

需要权限: ohos.permission.INTERNET

系统能力: SystemCapability.DeviceCloudGateway.CloudFoundation

起始版本: 5.0.0(12)

参数:

展开
参数名 类型 必填 说明
parameters FunctionParams 是 云函数调用必备参数。
callback AsyncCallback<FunctionResult> 是 回调函数。当调用云函数成功,err为undefined,data为获取到的FunctionResult;否则为错误对象。

错误码:

以下错误码的详细介绍请参见通用错误码和ArkTS API错误码。

展开
错误码ID 错误信息
201 No Internet permission.
401 Parameter error.
1008210001 Network connection error.
1008210009 Client internal error.
1008211001 Server error.

示例:

收起
自动换行
深色代码主题
复制
  1. import { cloudFunction } from '@kit.CloudFoundationKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. import { hilog } from '@kit.PerformanceAnalysisKit';
  4. cloudFunction.call({
  5. name: 'my-handler-xxxx',
  6. version: '$latest',
  7. timeout: 10 * 1000,
  8. data: {
  9. param1: 'val1',
  10. param2: 'val2'
  11. }
  12. }, (err: BusinessError, value: cloudFunction.FunctionResult) => {
  13. if (err) {
  14. hilog.error(0x0000, 'testTag', `Failed to call the function, code: ${err.code}, message: ${err.message}`);
  15. return;
  16. }
  17. hilog.info(0x0000, 'testTag', `Succeeded in calling the function, result: ${JSON.stringify(value.result)}`);
  18. });

call

Phone5.0.0(12)+PC/2in16.1.0(23)+Tablet5.0.0(12)+TV5.1.1(19)+Wearable5.1.0(18)+

call(parameters: FunctionParams): Promise<FunctionResult>

调用云函数时使用,使用云函数实现的功能。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

需要权限: ohos.permission.INTERNET

系统能力: SystemCapability.DeviceCloudGateway.CloudFoundation

起始版本: 5.0.0(12)

参数:

展开
参数名 类型 必填 说明
parameters FunctionParams 是 云函数调用必备参数。

返回值:

展开
类型 说明
Promise<FunctionResult> Promise对象,返回函数调用结果。

错误码:

以下错误码的详细介绍请参见通用错误码和ArkTS API错误码。

展开
错误码ID 错误信息
201 No Internet permission.
401 Parameter error.
1008210001 Network connection error.
1008210009 Client internal error.
1008211001 Server error.

示例:

收起
自动换行
深色代码主题
复制
  1. import { cloudFunction } from '@kit.CloudFoundationKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. import { hilog } from '@kit.PerformanceAnalysisKit';
  4. cloudFunction.call({
  5. name: 'my-handler-xxxx',
  6. version: '$latest',
  7. timeout: 10 * 1000,
  8. data: {
  9. param1: 'val1',
  10. param2: 'val2'
  11. }
  12. }).then((value: cloudFunction.FunctionResult) => {
  13. hilog.info(0x0000, 'testTag', `Succeeded in calling the function, result: ${JSON.stringify(value.result)}`);
  14. }).catch((err: BusinessError) => {
  15. hilog.error(0x0000, 'testTag', `Failed to call the function, code: ${err.code}, message: ${err.message}`);
  16. });

FunctionParams

Phone5.0.0(12)+PC/2in16.1.0(23)+Tablet5.0.0(12)+TV5.1.1(19)+Wearable5.1.0(18)+

云函数调用参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.DeviceCloudGateway.CloudFoundation

起始版本: 5.0.0(12)

展开
名称 类型 只读 可选 说明
name string 否 否

云函数名称。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

data string | Object 否 是

函数请求体。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

version string 否 是

云函数版本,默认是‘$latest’,表示最新版本。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

timeout number 否 是

函数请求超时时间,单位ms,默认为70*1000ms。

取值范围无限制,会转成unsigned long类型。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

loadMode LoadMode 否 是

函数请求加载模式,默认为NORMAL。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

localUrl string 否 是

本地启动的云函数地址,格式为http://域名:端口,例如http://localhost:18090。

该参数仅在调试本地云函数阶段需要使用,调试完成将云函数部署至云侧后不能再使用。

起始版本: 6.0.1(21)

元服务API: 从版本6.0.1(21)开始,该接口支持在元服务中使用。

LoadMode

Phone5.0.0(12)+PC/2in16.1.0(23)+Tablet5.0.0(12)+TV5.1.1(19)+Wearable5.1.0(18)+

枚举, 函数请求加载模式。

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.DeviceCloudGateway.CloudFoundation

起始版本: 5.0.0(12)

展开
名称 值 说明
NORMAL 0 普通模式,每次调用call方法均需请求服务器拉取数据。
PRELOAD 1

预加载模式,仅在安装应用时返回一次结果数据,后续调用安装预加载将返回错误。

设备行为差异: 该参数在Phone、Tablet、PC/2in1中可正常使用,在其他设备类型中传此参数时,返回1008211001错误码。

说明: HarmonyOS 5.0.3版本增强了预加载功能,将多种预加载能力(如安装预加载、周期性预加载)整合进了一套全新的API中,使体验更加友好,具体请参见cloudResPrefetch(预加载模块)。

FunctionResult

Phone5.0.0(12)+PC/2in16.1.0(23)+Tablet5.0.0(12)+TV5.1.1(19)+Wearable5.1.0(18)+

云函数返回的结果。

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.DeviceCloudGateway.CloudFoundation

起始版本: 5.0.0(12)

展开
名称 类型 只读 可选 说明
result string | Object 否 否 云函数返回的结果。