HarmonyOS 鸿蒙Next 端云一体化工程使用预加载报错CallFunction get cache fail: 1008200009

发布于 1周前 作者 bupafengyu 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 端云一体化工程使用预加载报错CallFunction get cache fail: 1008200009
<markdown _ngcontent-mlp-c149="" class="markdownPreContainer">

详细代码

functionPreload() {
    cloudFunction.call({
      name: "AGC平台预加载配置的云函数名称",
      timeout: 3 * 1000,
      loadMode: cloudFunction.LoadMode.PRELOAD,
      data: { 需要传递的参数 }
    }).then((data: cloudFunction.FunctionResult) => {
      // 业务实际处理
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', 'fail to get preload cache: %{public}s', err.message);
      // 异常后使用正常加载
      this.functionNormal();
    })
}

functionNormal() {
    cloudFunction.call({
      name: "AGC平台预加载配置的云函数名称",
      timeout: 5 * 1000,
      loadMode: cloudFunction.LoadMode.NORMAL,
      data: { 需要传递的参数 }
    }).then((data: cloudFunction.FunctionResult) => {
      // 业务处理
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', 'fail to get preload cache: %{public}s', err.message);
    })
}

onCreate方法中执行this.functionPreload()后抛出异常信息:

E     [preload_cache.cpp(GetCache:208)]no cache for 5765*****, quer*****, get fail
E     CreateAshmem: Parameter is invalid, size= 0
E     [cloud_develop_proxy_service_stub.cpp(OnGetFunctionCache:159)]create ashmem failed
E     [cloud_develop_proxy_service_proxy.cpp(GetFunctionCache:155)]cache len is 0, to skip
I     [cloud_develop_proxy_service_client_impl.cpp(GetFunctionCache:297)]GetFunctionCache end
E     [cloud_function_service.cpp(CallFunctionDoPreload:140)]CallFunction get cache fail: 1008200009
2 回复

如果配置没问题的话,应该是你的preload已经调用过一次了,再调用一次,就会报错。

如果想多次测试,每次调用时将应用卸载,就可以多次调用。

预加载使用限制:https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/agc-preload-restrictions-0000001970078233

cke_4169.png

针对您提到的HarmonyOS鸿蒙Next端云一体化工程中使用预加载功能时遇到的报错“CallFunction get cache fail: 1008200009”,此错误代码通常指示着在调用函数获取缓存数据时出现了问题。可能的原因包括但不限于:

  1. 缓存数据损坏:预加载的缓存数据可能在生成或传输过程中被损坏,导致无法正确读取。
  2. 权限问题:应用可能没有足够的权限去访问或修改指定的缓存数据。
  3. 系统资源限制:系统可能因为资源限制(如内存不足)而无法完成缓存的读取操作。
  4. 软件版本不兼容:使用的鸿蒙系统版本与预加载功能所需的版本不匹配。

为了解决这个问题,您可以尝试以下步骤:

  • 确认应用具有适当的读写权限。
  • 检查系统资源使用情况,确保有足够的内存和存储空间。
  • 尝试清除相关缓存或重新生成缓存数据。
  • 确保您的鸿蒙系统版本与预加载功能的要求相匹配。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部