选择相册怎么等待返回啊?

let  photoUris:Array<string> = ['']
try {
  let photoPick = new picker.PhotoViewPicker();
  let pickOptions = new picker.PhotoSelectOptions();
  pickOptions.maxSelectNumber = 1;
  pickOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
  photoPick.select(pickOptions)
    .then((pickResult: picker.PhotoSelectResult) => {
      photoUris = pickResult.photoUris
    })
} catch (e) {
  photoUris = ['']
  console.error(e)
}
return photoUris

select还没有触发return就执行了,怎么等select返回后在执行return


App开发
2024-04-08 14:43:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aleign

你写错了 select 是异步操作,肯定不会阻塞 return

photoPick.select(pickOptions)
    .then((pickResult: picker.PhotoSelectResult) => {
      photoUris = pickResult.photoUris
    })

改成下面


let pickResult: picker.PhotoSelectResult = await photoPick.select(pickOptions)
photoUris = pickResult.photoUris

你可以了解一下 js 中的 Promise 机制

分享
微博
QQ
微信
回复
2024-04-08 16:44:35
相关问题
HarmonyOS 相册相机选择组件
1142浏览 • 1回复 待解决
拉起相册选择图片页面失败
2994浏览 • 1回复 待解决
HarmonyOS 拍照或者选择相册之后剪裁
685浏览 • 1回复 待解决
HarmonyOS 关于从相册选择图片上传
1067浏览 • 1回复 待解决
HarmonyOS 相机拍照和选择相册功能demo
927浏览 • 1回复 待解决
HarmonyOS自定义相册选择页面咨询
1282浏览 • 1回复 待解决
进入相册或拍照选择图片做头像
14893浏览 • 2回复 已解决
Docker 怎么安装Redis
4471浏览 • 1回复 待解决
HarmonyOS 选择相册图片,上传到服务器
1229浏览 • 1回复 待解决
HarmonyOS 相册选择后压缩图片大小
1117浏览 • 1回复 待解决
救命,鸿蒙怎么写动画
6783浏览 • 2回复 待解决