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

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
相关问题
拉起相册选择图片页面失败
123浏览 • 1回复 待解决
进入相册或拍照选择图片做头像
11719浏览 • 2回复 已解决
如何打开指定文件夹,选择文件返回
6933浏览 • 1回复 待解决
应用分类应该怎么选择
3293浏览 • 2回复 待解决
docker 容器怎么选择时区?
746浏览 • 1回复 待解决
通过相册名获取相册资源
49浏览 • 1回复 待解决
gamePlayerId和teamPlayerId怎么选择
229浏览 • 1回复 待解决
Docker 怎么安装Redis
1573浏览 • 1回复 待解决
怎么把视频保存到相册以及主机端?
2295浏览 • 1回复 待解决
救命,鸿蒙怎么写动画
4390浏览 • 2回复 待解决
HarmonyOS SDK和openHarmony SDK怎么选择
5918浏览 • 1回复 待解决
鸿蒙怎么跳转进入email 选择
5584浏览 • 1回复 待解决
hdc smode 无效怎么回事
175浏览 • 1回复 待解决
arkui怎么展示接口返回的富文本?
1117浏览 • 1回复 待解决
JAVA UI 怎么返回上一页?
5322浏览 • 2回复 已解决
用户相册, 获取不到albumName
152浏览 • 1回复 待解决
这个swipe事件怎么
8295浏览 • 2回复 待解决