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

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
相关问题
拉起相册选择图片页面失败
665浏览 • 1回复 待解决
进入相册或拍照选择图片做头像
12293浏览 • 2回复 已解决
如何打开指定文件夹,选择文件返回
7529浏览 • 1回复 待解决
应用分类应该怎么选择
3830浏览 • 2回复 待解决
docker 容器怎么选择时区?
1374浏览 • 1回复 待解决
通过相册名获取相册资源
407浏览 • 1回复 待解决
gamePlayerId和teamPlayerId怎么选择
749浏览 • 1回复 待解决
Docker 怎么安装Redis
2066浏览 • 1回复 待解决
怎么把视频保存到相册以及主机端?
2750浏览 • 1回复 待解决
HarmonyOS SDK和openHarmony SDK怎么选择
6513浏览 • 1回复 待解决
鸿蒙怎么跳转进入email 选择
6183浏览 • 1回复 待解决
救命,鸿蒙怎么写动画
4906浏览 • 2回复 待解决
ArkTs怎么根据模版new对象返回
355浏览 • 0回复 待解决
hdc smode 无效怎么回事
652浏览 • 1回复 待解决
这个swipe事件怎么
8765浏览 • 2回复 待解决
JAVA UI 怎么返回上一页?
5942浏览 • 2回复 已解决