javascriptの非同期処理について質問です。web3.jsでコントラクトのデータを取得した後に、別の関数で取得したデータを利用したいのですが、うまく機能しません。どのように非同期処理を記述すれば良いでしょうか。なお、フレームワークはvue2を使用しており、コンポーネントのmethods内で処理を想定しています。
0. コントラクトからデータを取得するメソッド
getData:function(){ this.Contract.methods.datas(0).call().then((data) => { this.obj = data.prop; }); },
- 上記メソッドから取得したデータを利用してさらに別の関数を実行する
this.getData(); function calc(){ let a = this.obj * 2 //this.objがgetDataによって取得されたデータ } calk();
上記の記述だと、getDataのthenの処理が終わる前に、calcが処理されてしまいますが、
先にthenを処理させる記述方法を教えていただけないでしょうか。
よろしくお願います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/14 13:21