HarmonyOS Native方法中是否有获取当前线程的env的接口。?

继承重写了Napi::AsyncWorker,在Execute方法中使用了AsyncWorker对象的env对象。

开启多线程检测,有警告:

LastFatalMessage:[default] [CheckThread:188] Fatal: ecma_vm cannot run in multi-thread! thread:23077 currentThread:23096 Fault thread info: 

这个是否是使用了非本线程的env导致的?如果是,在Execute方法中如何获取本线程的env?

阅读 510
1 个回答

使用了非本线程的env导致的,execute过程不存在对应的env,execute过程中虽然提供了env,但不能使用env修改js对象,需要在complete回调中使用env。