我正在使用expo和react-native构建应用程序。
我正在尝试使用async await和Promise的map函数从firebase加载照片。所有,但我得到的只是一个未解决的Promise。
renderImages = async () => {
const images = [];
if(this.state.images.length > 0) {
images = this.state.images.map( async (item, index) => {
const ref = firebase.storage().ref(item);
var image = await ref.getDownloadURL()
return <View><Image source={{ uri: image}} /></View>
})
const imageArray = await Promise.all(images);
return imageArray || [];
}
return <View><Text>STATE.IMAGES.LENGTH is 0</Text></View>
}
我回来的就是
Promise {
"_40": 0,
"_55": null,
"_65": 0,
"_72": null,
}
答案 0 :(得分:2)
好吧,所以我不知道异步等待总是返回一个诺言。
我通过添加
解决了问题`onRenderImages() {
this.renderImages().then(data => {
this.setState({
displayImages: data
})
})
}`