ArkTS如何判断接收参数是什么类型?

我如何在ArkTS中判断接收的参数类型是什么,如图片,我需要判断接收的方法参数是字符串还是pixelMap,然后执行相对应的操作,这样子我应该如何写呢

阅读 481
1 个回答

resource类型有id的,当前的类型只有string,Resource,PixelMap,所以可以判断data.id是否存在来判断是否是Resource类型。

// 获取指定资源ID对应的媒体文件内容
let data: Resource = $r('app.media.icon')
getContext(this).resourceManager.getMediaContent(data.id).then(() => {})

demo如下:

getData(data: string | PixelMap | Resource) {
  if (typeof data == 'string') {
    console.log('string')
  } else {

    getContext(this).resourceManager.getMediaContent((data as Resource).id).then(() => {
      console.log('Resource')

    }).catch(() => {
      console.log('PixelMap')
    })
  }

}
logo
HarmonyOS
子站问答
访问
宣传栏