提问人:dark stack 提问时间:7/7/2023 更新时间:7/7/2023 访问量:33
如何修复一个javascript async fn包装一个跳到底部返回值的.then回调函数?,也使用'react-native-permissions'
How to fix a javascript async fn wrapping a .then callback function that skips to bottom return value?, using 'react-native-permissions' as well
问:
我的异步函数看起来像
import { PERMISSIONS, RESULTS, checkMultiple } from 'react-native-permissions';
import { Platform } from 'react-native';
const checkPermissions = async (): boolean => {
console.log('Platform.OS', Platform.OS)
if (Platform.OS === 'ios') {
checkMultiple([
PERMISSIONS.IOS.LOCATION_ALWAYS,
PERMISSIONS.IOS.MOTION,
]).then((status) => {
if (
status[PERMISSIONS.IOS.LOCATION_ALWAYS] === RESULTS.GRANTED &&
status[PERMISSIONS.IOS.MOTION] === RESULTS.GRANTED
) {
console.log('permissions allgood');
return true;
} else {
console.log('PERMISSIONS are false.');
return false;
}
});
} else if (Platform.OS === 'android') {
checkMultiple([
PERMISSIONS.ANDROID.ACCESS_BACKGROUND_LOCATION,
PERMISSIONS.ANDROID.ACTIVITY_RECOGNITION,
]).then((status) => {
if (
String(status[PERMISSIONS.ANDROID.ACCESS_BACKGROUND_LOCATION]) ===
RESULTS.GRANTED &&
String(status[PERMISSIONS.ANDROID.ACTIVITY_RECOGNITION]) ===
RESULTS.GRANTED
) {
console.log('permissions allgood');
return true;
} else {
console.log('PERMISSIONS are false.');
return false;
}
});
}
return 'why';
};
const permissionsOn = checkPermissions();
console.log('permissionsOn',permissionsOn)
结果是: LOG Platform.OS ios LOG permissionsAreON before {“_h”: 0, “_i”: 1, “_j”: “why”, “_k”: null}//'why' LOG 权限 allgood
那么如何格式化包装 fn.then() 的异步函数并返回结果呢?
答: 暂无答案
评论
checkPermissions = async
.then
await
Promise
async
await
.then()