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
プレビュー