Я думаю, что этот вопрос исходит из моего неполного понимания обещаний JavaScript, но я пытаюсь найти способ вернуть изображение, хранящееся в Google Firebase, в приложении React.Firebase имеет функцию под названием getDownloadURL()
, которая возвращает обещание ... затем вы можете получить доступ к URL с помощью getDownloadURL.then(url => //stuff)
.Моя проблема в том, что я хотел бы сохранить этот URL-адрес в качестве опоры в другом компоненте, но я не могу понять, как использовать функцию, чтобы вернуть ТОЛЬКО URL-адрес ... Я могу только заставить его вернуть обещание, илиничего такого.Я поступаю об этом неправильно?Ниже приведен измененный фрагмент моего кода ... Я для большей краткости опустил его.
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
)
}
}