Ich habe eine Funktion, die zuerst ein Image in Firebase speichert und dann die Download-URL zurückbekommt. Im Moment bin ich in der Lage, die url
zurück zu bekommen (siehe return url
), aber ich weiß nicht, wie man es für die Funktion als Ganzes zurückgibt, da es verschachtelt ist, und da diese Funktion asynchron läuft und die URL leer zurückgibt, falls Es wurde nicht zugewiesen, bevor getDownloadURL
zurückgegeben wurde.Firebase-Rückgabeergebnis von getDownloadURL
Wo Funktion aufgerufen wird
takePictureTemp() {
var storedImg: any = this.usersale.submitImgTemp();
}
/providers/usersale-data.ts
submitImgTemp() {
let storageRef = firebase.storage().ref();
// Create a timestamp as filename
const filename = Math.floor(Date.now()/1000);
// Create a reference to 'images/todays-date.jpg'
const imageRef: any = storageRef.child(`userImages/${filename}.jpg`);
imageRef.putString("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg==", firebase.storage.StringFormat.DATA_URL).then((snapshot)=> {
imageRef.getDownloadURL().then(function(url) {
return url;
}).catch(function(error) {
// Handle any errors here
console.log(error);
});
});
}
'FEHLER TypeError: this.usersale.submitImgTemp (...). Subscribe ist keine Funktion' – maudulus
Got it! Super hilfreich und definitiv gab mir einen festeren Zugriff auf Versprechen/Async. Vielen Dank! – maudulus