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

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

ArkTS如何判断接收参数是什么类型  -鸿蒙开发者社区

HarmonyOS
2024-12-23 16:17:47
1128浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

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

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

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')
    })
  }

}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
分享
微博
QQ
微信
回复
2024-12-23 17:05:24
相关问题
HarmonyOS ArkTS如何判断Object类型
1144浏览 • 1回复 待解决
HarmonyOS 路由参数如何接收
1126浏览 • 1回复 待解决
HarmonyOS ArkTS的泛型类型判断
894浏览 • 1回复 待解决
判断一个参数是不是Resource类型
1245浏览 • 1回复 待解决
HarmonyOS 组件接收页面参数
1083浏览 • 1回复 待解决
HarmonyOS 移动数据开关判断API是什么
699浏览 • 1回复 待解决
HarmonyOS router.back返回参数如何接收
725浏览 • 1回复 待解决
HarmonyOS 页面接收参数报错
652浏览 • 1回复 待解决
Redis数据类型列表list是什么
4136浏览 • 1回复 待解决
HarmonyOS 如何判断设备类型
1246浏览 • 1回复 待解决
HarmonyOS如何判断设备类型?
1214浏览 • 1回复 待解决
ArkTS里面的?. 是什么意思
3165浏览 • 1回复 待解决
Redis数据类型集合sets是什么
3758浏览 • 1回复 待解决
HarmonyOS 路由跳转怎么接收参数
927浏览 • 1回复 待解决
提问
该提问已有2人参与 ,帮助了43人