我似乎无法根据文件名获取存储中图像的下载网址。
更正,我可以,但我似乎无法将变量从函数中取出。例如。我的代码:
public getVenueImage(image: string){
let imgUrl: string;
try{
this.firebase.storage().ref().child("/venues/" + image ).getDownloadURL().then(function(url){
imgUrl = url;
console.log("log1: " + url);
});
}
catch(e){
console.log(e);
}
console.log("log2: " + imgUrl);
return imgUrl;
}
日志 1: https://firebasestorage.googleapis.com/v0/b/icorp-dashboard.appspot.com/o/venues%2Fcinema.jpg?alt=media&token=e5be11ef-f53f-48dc-ab79-a81a50c0e317
日志 2:未定义
我无法返回图像链接的任何原因?
因为将promise
与then
一起使用会使您的任务异步,并且它被放置在事件队列中以便稍后执行,因此console.log("log2: " + imgUrl);
在imgUrl = url;
之前执行
public getVenueImage(image: string){
let imgUrl: string;
try{
this.firebase.storage().ref().child("/venues/" + image ).getDownloadURL().then(function(url){
console.log("log1: " + url);
return url;
});
}
catch(e){
console.log(e);
}
}