uni.chooseImage这个无法在promise回调中被正常捕获,可以通过setTimeOut包裹下完成正常的异步回调,建议用async和await来配合,等接口调用完在继续执行uni.chooseImage
async uploadClick() {
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()
}
})
}
})
},