HarmonyOS 线程中使用AppStorage报错ReferenceError: AppStorage is not defined

let task = new taskpool.Task(test2, 1);
taskpool.execute(task).then(() => {

}).catch((error: Error) => {
  console.error("error:" + error)
})
@Concurrent
function test2(a: number) {
  let n:number = a;
  console.info("sendable: taskpool count is:");
  AppStorage.setOrCreate("xxx", 1111);
}

报错:

E     [default] CallForNapi:3043 occur exception need return
E     [(native_api.cpp:1205)(napi_call_function)] pending exception when js function called, print exception info:
E     ReferenceError: AppStorage is not defined
E         at test2 (entry|entry|1.0.0|src/main/ets/pages/Index.ts:133:5)
E     [(worker.cpp:555)(HandleFunctionException)] taskpool::PerformTask occur exception
HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

AppStorage应用全局的UI状态存储 :https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-appstorage-V5

Taskpool是一个并发任务调度框架,它可以在多个线程中执行任务,但是AppStorage是一个用于存储应用程序数据的属性包装器,它只能在主线程中使用。

如果在Taskpool中尝试使用AppStorage,可能会导致数据不一致或者崩溃等问题。因此,应该确保在使用AppStorage时只在主线程中操作。

分享
微博
QQ
微信
回复
7天前
相关问题
HarmonyOS UI内部使用AppStorage问题
422浏览 • 1回复 待解决
Localstorage与AppStorage区别
2189浏览 • 1回复 待解决
HarmonyOS AppStorage不可调用
418浏览 • 1回复 待解决
HarmonyOS AppStorage.Get替代方法
116浏览 • 1回复 待解决
AppStorage 作用范围是怎样的
2342浏览 • 1回复 待解决
LocalStorage和AppStorage有什么区别?
1065浏览 • 2回复 待解决
HarmonyOS AppStorage能存储多大的信息量
151浏览 • 1回复 待解决
#鸿蒙学习大百科#什么是AppStorage
285浏览 • 1回复 待解决