0
私は最初に画像をFirebaseに保存してからダウンロードURLを取得する機能を持っています。今ではurl
を返すことができます(return url
を参照)。しかし、ネストされているため、この関数が非同期で実行され、空のurlを返すので、関数全体を返す方法がわかりませんgetDownloadURL
が返される前に割り当てられていません。関数はFirebaseのgetDownloadURLの返信結果
takePictureTemp() {
var storedImg: any = this.usersale.submitImgTemp();
}
と呼ばれる
は
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);
});
});
}
'ERROR TypeError:this.usersale.submitImgTemp(...)。subscribeは関数ではありません。 ' – maudulus
これが見つかりました!便利で、間違いなく私は約束/非同期についてより確かな理解を得ました。ありがとう! – maudulus