HarmonyOS 新API属性不能被定义为undefined吗?

有一个工程,上面的的属性定义是这样的

import camera from '@ohos.multimedia.camera'; 
 
export default class CameraService { 
  private cameraMgr: camera.CameraManager = undefined; 
  private camerasArray: Array<camera.CameraDevice> = undefined; 
  private cameraInput: camera.CameraInput = undefined; 
  private previewOutput: camera.PreviewOutput = undefined; 
  private previewOutput2: camera.PreviewOutput = undefined; 
  …… 
  setImageTest(imageSet: Resource): Uint8Array { 
    let imageBuffer: Uint8Array; 
    try { 
      imageBuffer = this.context.resourceManager.getMediaContentSync(imageSet.id); // 默认屏幕密度 
    } catch (error) { 
      let code = (error as BusinessError).code; 
      let message = (error as BusinessError).message; 
      console.error(`getMediaContentSync failed, error code: ${code}, message: ${message}.`); 
    } 
    Logger.info(TAG, `imageBuffer = ${imageBuffer}`); 
    return imageBuffer; 
  }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

然后编译就报了很多错误,其中这两种最多

Type 'undefined' is not assignable to type 'CameraManager'.  Variable 'imageBuffer' is used before being assigned.
  • 1.

他们这个项目 build-profile.json5里本来写的是“runtimeOS”: “OpenHarmony”但是这样编译报错,只能改成“runtimeOS”: “HarmonyOS”

请问上面报的两个错误怎么解决呢?

HarmonyOS
2024-08-10 11:47:20
886浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

private cameraMgr: camera.CameraManager | undefined = undefined;

let imageBuffer: Uint8Array | undefined;

相机创建等AP可以参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-camera-0000001820881333#ZH-CN_TOPIC_0000001811317606__cameragetcameramanager

另外TS 到ArtTs存在语法上的适配,可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-migration-background-0000001820999541#ZH-CN_TOPIC_0000001857876137__%E5%85%BC%E5%AE%B9tsjs%E7%9A%84%E7%BA%A6%E6%9D%9F

建议将globalThis,还有其他的一些变量,放到公共的文件中,哪个.ets需要调用直接导入。

分享
微博
QQ
微信
回复
2024-08-10 17:42:22
相关问题
API15中InteractionHand枚举类型undefined
243浏览 • 0回复 待解决
HarmonyOS SourceTool.xxx值undefined
823浏览 • 1回复 待解决
如何获取单例undefined
1351浏览 • 1回复 待解决
华为不能完全自主开发内核
14714浏览 • 2回复 已解决
怎样防止API恶意调用?
2534浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人