@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
相关问题
computeScroll() 方法鸿蒙什么可以替代
4037浏览 • 1回复 待解决
编译报错没有堆栈信息
102浏览 • 1回复 待解决
List的item点击变色什么方法
162浏览 • 1回复 待解决
搭建鸿蒙环境时,编译报错
10098浏览 • 3回复 待解决
OpenHarmony 编译原生设置settings报错
1299浏览 • 0回复 待解决
下载编译Full-SDK报错
794浏览 • 1回复 待解决
初次安装DevEco Studio编译报错
5397浏览 • 1回复 待解决
鸿蒙demo gradle报错怎么解决
8472浏览 • 4回复 待解决
DevEco编译报错:Invalid JavaScript file path
1506浏览 • 0回复 待解决
OLED 屏幕输出编译报错问题
8643浏览 • 2回复 待解决
DevEco Studio新建工程,编译报错
1878浏览 • 0回复 待解决
Openharmony 编译 openssl 依赖 icu库报错
337浏览 • 0回复 待解决
http请求报错2300006如何解决
468浏览 • 1回复 待解决