@Concurrent裝飾器:校驗并發(fā)函數(shù)

2024-02-16 13:44 更新

在使用TaskPool時,執(zhí)行的并發(fā)函數(shù)需要使用該裝飾器修飾,否則無法通過相關校驗。

說明

從API version 9開始,該裝飾器支持在ArkTS卡片中使用。

裝飾器說明

@Concurrent并發(fā)裝飾器

說明

裝飾器參數(shù)

無。

使用場景

僅支持在Stage模型的工程中使用。

裝飾的函數(shù)類型

允許標注async函數(shù)或普通函數(shù)。禁止標注generator、箭頭函數(shù)、method。不支持類成員函數(shù)或者匿名函數(shù)。

裝飾的函數(shù)內的變量類型

允許使用local變量、入?yún)⒑屯ㄟ^import引入的變量。禁止使用閉包變量。

裝飾器使用示例

  1. import taskpool from '@ohos.taskpool';
  2. @Concurrent
  3. function add(num1: number, num2: number): number {
  4. return num1 + num2;
  5. }
  6. async function ConcurrentFunc(): Promise<void> {
  7. try {
  8. let task: taskpool.Task = new taskpool.Task(add, 1, 2);
  9. console.info("taskpool res is: " + await taskpool.execute(task));
  10. } catch (e) {
  11. console.error("taskpool execute error is: " + e);
  12. }
  13. }
  14. @Entry
  15. @Component
  16. struct Index {
  17. @State message: string = 'Hello World'
  18. build() {
  19. Row() {
  20. Column() {
  21. Text(this.message)
  22. .fontSize(50)
  23. .fontWeight(FontWeight.Bold)
  24. .onClick(() => {
  25. ConcurrentFunc();
  26. })
  27. }
  28. .width('100%')
  29. }
  30. .height('100%')
  31. }
  32. }
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號