异步等待地图功能,promise.all不起作用

时间:2019-06-23 03:42:11

标签: react-native promise expo

我正在使用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,
}

1 个答案:

答案 0 :(得分:2)

好吧,所以我不知道异步等待总是返回一个诺言。

我通过添加

解决了问题
`onRenderImages() {
     this.renderImages().then(data => {
        this.setState({ 
            displayImages: data
        })
     })
 }`