methodsに記述したaxiosによるHTTP通信の完了を待ってから残りの処理をしたい必要があったのですが、少し詰まったので記録として残しておきます。
※Async/awaitやaxiosについての説明記事ではありませんのでご了承ください
mounted: {
this.settingXxx();
},
methods: {
fetchSample: async function(){
let ret = null
// 非同期処理を記述
await axios.get('(url)', {
.then((response) => {
ret = response
})
.catch((error) => {
this.errorMsg = 'Error! Could not reach the API. ' + error
console.log(this.errorMsg)
})
return ret
},
settingXxx: async function(){
// this.fetchSample()の実行が完了するまで待機
let result = await this.fetchSample()
console.log(result) //待機後の残りの処理を記述
},
}
fetchSample();によりPromiseオブジェクトが返され,
Promiseの状態が確定しその結果が返されるまで、JavaScriptを待機させます。