Reactを使用しています。
前提・実現したいこと
javascript
1const [img, setImg] = useState("") 2const compressionImage = () => { 3 CompImg.set( 4 hoge, 5 fuga, 6 (uri) => { 7 const imgURL = uploadStorage(uri) 8 setImg(imgURL) 9 } 10 ) 11} 12 13const updateData = async () => { 14 await compressionImage(); 15 const newData = { 16 img: img, 17 name: "hoge" 18 } 19 console.log(newData) 20}
上記のコード場合において、newData
オブジェクトのimg
プロパティの値を、compressionImage
でsetState
した値を代入したいです。
最初の関数compressionImage
ではreturn
するものが無いため、await
が意味をなしていない状況です。
また、compressionImage
のCompImg
は、画像を圧縮するライブラリです。
発生している問題・エラーメッセージ
最初の関数compressionImage
の実行終了を待たないので、newData
のimg
は""
になります。
試したこと
「javascript return 無し async await」とか、今回とは関係ないですが初心者がよく壁にぶつかりそうな「javascript for 終了後」とかでググったのですが、解決策になりそうなコードを見つけられませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。