Я пытаюсь получить альбомы в моей медиатеке через Expo MediaLibrary SDK
Я пытаюсь выполнить обещание, чтобы получить все названия альбомов, идентификаторы и т. Д. Черезфункция Expo.MediaLibrary.getAlbumsAsync (), которая получает массив.
import React from 'react';
import {
ActivityIndicator,
Button,
Clipboard,
Image,
Share,
StatusBar,
StyleSheet,
Text,
TouchableOpacity,
View,
Alert,
} from 'react-native';
import Expo, { MediaLibrary, Permissions, Constants, ImagePicker, registerRootComponent } from 'expo';
export default class ChoosePhotos extends React.Component {
state = {
image: null,
uploading: false,
};
//Get Permission and get Albums list
async componentDidMount(){
this.getAlbum();
}
getAlbum = async () => {
const { status } = await Permissions.askAsync(Permissions.CAMERA_ROLL);
if(status !== 'granted'){
this.setState({ cameraRollPerm: false });
Alert.alert(
'',
'Please grant permissions to access your media library to continue.',
[
/* {text: 'Ask me later', onPress: () => console.log('Ask me later pressed')},
{text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel'}, */
{text: 'OK', onPress: () => console.log('OK Pressed')},
],
{ cancelable: false }
);
}
let albumList = await MediaLibrary.getAlbumsAsync()
.then(albumArray => { console.log(albumArray) })
.catch(() => { console.log("failed to fetch albums.") });
}
render() {
console.log(this.state.image)
let { image } = this.state;
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text
style={{
fontSize: 20,
marginBottom: 20,
textAlign: 'center',
marginHorizontal: 15,
}}>
Example: Upload ImagePicker result
</Text>
<Button
onPress={this._pickImage}
title="Pick an image from camera roll"
/>
<Button onPress={this._takePhoto} title="Take a photo" />
<StatusBar barStyle="default" />
</View>
);
}
_takePhoto = async () => {
let pickerResult = await ImagePicker.launchCameraAsync({
});
this.props.navigation.navigate('SizeSelectionScreen', {imageLink: pickerResult.uri});
};
_pickImage = async () => {
let pickerResult = await ImagePicker.launchImageLibraryAsync({
});
this.props.navigation.navigate('SizeSelectionScreen', {imageLink: pickerResult.uri});
};
}
Я получаю ту же самую старую ошибку отклонения Обещания, даже если я обработал ее правильно с помощью catch, и если обещание не было обработано правильно, значит ли это, что я не получаю информацию об альбомах моей медиатеки?
Вот ошибка:
Снимок экрана ошибки