一、复现?
在a接口中,根据其返回的参数,决定是否调用uni.choooseImage();在app、安卓使用没问题,在IOS设备的Safari浏览器中,调起失败。
二、解决方案
// 修改头像方法
async chooseImage() {
let that = this
// 某个封装的接口
let tempData = await that.$http.xxx()
// 将事件插入了"任务队列",必须等到执行栈执行完,主线程才会去执行它指定的回调函数
setTimeout(() => {
//若返回true,则调起相册
if (tempData.data.success) {
uni.chooseImage({
count: 1,
sizeType: ['compressed'],
sourceType: ['album'],
success: (ress) => {
// 执行方法,因为uni.chooseImage()为异步
// 故需在外部存储this来调用其他方法
that.funA()
}
})
}
})
},