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?

阅读 506
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进