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

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

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

HarmonyOS
3天前
浏览
收藏 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(() => {})

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

}
分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS ArkTS如何判断Object类型
267浏览 • 1回复 待解决
HarmonyOS 路由参数如何接收
429浏览 • 1回复 待解决
判断一个参数是不是Resource类型
452浏览 • 1回复 待解决
HarmonyOS 页面接收参数报错
17浏览 • 1回复 待解决
HarmonyOS 组件接收页面参数
29浏览 • 1回复 待解决
HarmonyOS router.back返回参数如何接收
63浏览 • 1回复 待解决
Redis数据类型列表list是什么
3388浏览 • 1回复 待解决
Redis数据类型集合sets是什么
2918浏览 • 1回复 待解决
HarmonyOS 路由跳转怎么接收参数
79浏览 • 1回复 待解决
ArkTS里面的?. 是什么意思
2155浏览 • 1回复 待解决
HarmonyOS 如何判断设备类型
414浏览 • 1回复 待解决
HarmonyOS如何判断设备类型?
439浏览 • 1回复 待解决
网络库里的Header是什么类型的结构
1636浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人