我认为这个问题来自我对JavaScript承诺的理解不够全面,但是我试图找出一种方法来返回React应用程序中存储在Google Firebase上的图像。 Firebase有一个名为getDownloadURL()
的函数,该函数返回一个诺言...然后您可以使用getDownloadURL.then(url => //stuff)
访问URL。我的问题是我想将此URL作为prop存储在另一个组件中,但是我似乎无法弄清楚如何使用函数仅返回URL……我只能得到它以返回promise,或者没有。我会以错误的方式处理吗?以下是我的代码的修改摘要...为简洁起见,我省略了很多内容。
class Something extends Component {
getDownloadUrl(fileName){
return firebase.storageRef.child(fileName).getDownloadURL().then(url => {return url});
}
render(){
return(
<ImageComponent src={this.getDownloadUrl(this.props.fileName)}>
</ImageComponent>
//I would like the src prop to be a URL string, but right now it's just a promise object
)
}
}