My async function look like
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)
The results are:
LOG Platform.OS ios
LOG permissionsAreON before {“_h”: 0, “_i”: 1, “_j”: “why”, “_k”: null}//’why’
LOG permissions allgood
so how do you format an async function wrapping fn.then() and return the result?