@Sendable编译报错,有什么方法解决?

// SendClass.ets 
@Sendable 
export class SendClass { 
  aaa() { 
    console.log('treeli::: i’m SendClass') 
  } 
} 
 
// TestSend.ets 
@Concurrent 
function taskFunc(sendObj: SendClass): number { 
  sendObj.aaa() 
  return 1 
} 
 
export class TestSend { 
  start() { 
    let task: taskpool.Task = new taskpool.Task(taskFunc, new SendClass()); 
    taskpool.execute(task) 
  } 
}

报错如下:

ERROR: ArkTS:ERROR File: /Users/didi/DevEcoStudioProjects/OkHttp/entry/src/main/ets/pages/SendClass.ets:2:2Cannot find name ‘Sendable’. 
WARN: ArkTS:WARN File: /Users/didi/DevEcoStudioProjects/OkHttp/entry/src/main/ets/pages/SendClass.ets:2:1No decorators except ArkUI decorators are currently allowed (arkts-no-decorators-except-arkui)
HarmonyOS
2024-04-27 23:24:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
e_lion

参考如下链接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/arkts-utils/arkts-sendable.md​​https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-taskpool-0000001774280766#ZH-CN_TOPIC_0000001774280766__setclonelist11

一定要通过setCloneList和Array的组合来设置,如下:

let baseInstance1: BaseClass = new BaseClass(); 
let array1 = new Array<BaseClass>(); 
array1.push(baseInstance1); 
let task1 = new taskpool.Task(testFunc, array1, 10); 
task1.setCloneList(array1); 
taskpool.execute(task1)
分享
微博
QQ
微信
回复
2024-04-28 17:42:19
相关问题
查询应用信息方法编译报错
241浏览 • 1回复 待解决
HarmonyOS 支付报错,求解决方法
321浏览 • 1回复 待解决
RN SDK升级报错,求解决方法
155浏览 • 1回复 待解决
computeScroll() 方法鸿蒙什么可以替代
5692浏览 • 1回复 待解决
页面截图功能,什么好的方法
709浏览 • 1回复 待解决
openharmony 交叉编译openjdk报错
889浏览 • 1回复 待解决
编译报错没有堆栈信息
883浏览 • 1回复 待解决
编译报错Found exception如下
1404浏览 • 1回复 待解决