HarmonyOS 使用taskPool处理耗时操作,能否使用箭头函数

比如我把一个耗时操作放到class 的 一个方法属性,类型是()=>void ,然后我在子线程执行()=>void里面的方法。不用taskPool也行,其他子线层方案或者第三方库都行

HarmonyOS
2024-08-03 11:17:02
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hmogy

taskPool中执行的函数需要被@Concurrent装饰,而@Concurrent不支持标注generator、箭头函数、method。不支持类成员函数或者匿名函数。

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-concurrent-V5

想使用() => {}的方式的话,可以考虑如下两种方式:

1、@Sendable装饰器,装饰类,类中声明()=>{}方法,TaskPool中传参@Sendable类,参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-sendable-V5#sendable%E8%A3%85%E9%A5%B0%E5%99%A8%E5%A3%B0%E6%98%8E%E5%B9%B6%E6%A0%A1%E9%AA%8Csendable-class

2、worker,worker中可以声明类,类中声明()=>{}箭头函数方法,或者从其他地方导入,再去实例化、调用箭头函数。参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-worker-V5

分享
微博
QQ
微信
回复
2024-08-03 17:13:02
相关问题
在ArkTS中如何处理耗时操作
531浏览 • 1回复 待解决
HarmonyOS taskpool使用crash
1421浏览 • 2回复 待解决
HarmonyOS Promise & taskpool使用问题
295浏览 • 1回复 待解决
HarmonyOS taskpool使用问题咨询
192浏览 • 1回复 待解决
HarmonyOS 使用worker和TaskPool咨询
177浏览 • 1回复 待解决
HarmonyOS TaskPool使用首选项报错
451浏览 • 1回复 待解决
HarmonyOS 能否跨模块使用@Styles
324浏览 • 1回复 待解决
HarmonyOS 函数使用bind提示警告
354浏览 • 1回复 待解决