HarmonyOS 底层异步线程回调后数据与组件之间通信问题?
现有一个回调函数类,可以注册到native底层,底层后续异步线程回调上应用层,回调后如何让回调函数与组件之间进行数据通信?
class MyIMediaPlayerCallback extends IMediaPlayerCallback{
public isLoading = false
public isPlaying = false
public GetError =false
Onloading() {
//this.isLoading = true;
let ret =0;
};
OnError(nErr:number) {
// this.GetError =true;
let ret = 1;
};
OnPlaying() {
// this.isPlaying =true;
let ret = 2;
};
}
组件内定义该实例:private cb:MyIMediaPlayerCallback = new MyIMediaPlayerCallback;后续通过注册函数将该实例进行注册:this.mediaPlayerObj.RegisterCallback(this.cb);可是回调上来的函数中无法影响到组件内容,该如何设计?
HarmonyOS提供了PostEvent和PostTask方法,允许你在不同的线程之间传递事件和任务。当你在异步线程中完成数据处理后,可以使用这些方法将数据发送到主线程。