HarmonyOS Sendable装饰的对象怎么获取

" @Sendable
export class Test {}

export async function startThread(): Promise<toolTask.Task> {
  let currTask = new toolTask.Task(test);
  await toolTask.execute(currTask, toolTask.Priority.MEDIUM).then(result => {
    let test = result as Test;//
  }) as boolean;
  return currTask;
}

@Concurrent
async function test(): Promise<Test> {
  return new Test();
}"
HarmonyOS
8天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

参考如下demo,通过参数传递

// SendableTest.ets

@Sendable
export class Test {
  num: number = 10;
}


// Index.ets

import taskpool from '@ohos.taskpool';
import { Test } from './SendableTest';


@Concurrent
async function testFunc(test: Test): Promise<void> {
  let tmp = new Test();
  tmp.num = 1;
  test.num = tmp.num;
}

async function start(): Promise<taskpool.Task> {
  let test = new Test();
  test.num = 101;
  console.info("taskpoolTest:res1 is:" + test.num);
  let currTask = new taskpool.Task(testFunc, test);
  await taskpool.execute(currTask, taskpool.Priority.MEDIUM).then(() => {
    console.info("taskpoolTest:res2 is:" + test.num);
  }) as boolean
  return currTask;
}

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            start();
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
8天前
相关问题
HarmonyOS 如何获取对象方法列表
398浏览 • 1回复 待解决
HarmonyOS 对象怎么判空?
350浏览 • 1回复 待解决
如何获取对象真实类型
453浏览 • 1回复 待解决
如何获取对象所有方法
394浏览 • 1回复 待解决
new 出来对象如何获取所属类
1894浏览 • 1回复 待解决
ArkTs中如何获取对象类名
2554浏览 • 1回复 待解决
ArkTS层获取对象所有方法
1555浏览 • 1回复 待解决
HarmonyOS Web组件注入js怎么传递对象
475浏览 • 1回复 待解决
HarmonyOS如何获取对象所有的值和value
1176浏览 • 1回复 待解决