- 此问题在此处已有答案**:
Async method not waiting for a function - VUE(2个答案)
20小时前关门了。
我的React Native应用程序中有以下代码,用于检查Android上的摄像头是否被授予权限:
function hasAndroidPermission() {
checkPermission('camera')
.then(res => {
if (res === RESULTS.DENIED) {
requestPermission('camera')
.then(res => {
if (res === RESULTS.DENIED) {
return false
} else {
return true
}
})
.catch(err => {
// console.log(err)
})
} else {
return true
}
})
.catch(err => {
// console.log(err)
})
}
我想根据hasAndroidPermission()
的结果执行一些其他的代码。我尝试了这个(在一个异步函数中):
let androidPermission = await hasAndroidPermission()
if (androidPermission) ...
代码在hasAndroidPermission()
返回之前执行了if
块。我如何让它等待?
2条答案
按热度按时间wooyq4lh1#
您应该使用async/await并使
hasAndroidPermission
成为一个异步函数:osh3o9ms2#
checkPermission()
和requestPermission()
调用之前缺少return语句